狐の王国


2007年06月11日(月) [過去の今日]

#1 Linux版Flashの日本語入力はkinput2じゃないとダメ?

むう、FirefoxからFlashのフォームに日本語を書こうとして、IMがオンにならないことに気付いた。SCIMをGTK_IM_MODULEにセットして使ってるのだが、これだとダメってことか? Canna使ってるので、UIMとかは使いたくないんだよなあ。

うーむ、いまさらkinput2に戻りたくないんだが……。しょんぼり。

(@759)

な、なんだってー:

こちらの日記 によると、テキストウィジェットがGTKのものじゃなくて自前なんだそうで。そりゃあGTK_IM_MODULE動かないわな。

……Adobeさん、どうにかしてください。

(@770)

翌日追記:

ぬ、GTK_IM_MODULE=scim、XMODIFIERS=@im=kinput2 で、GTKウィジェットはSCIM、非GTKウィジェット(Flashのフォームなど)はkinput2で行けることが判明。

しばらくこれでしのいでみるかー。

この記事のURI

2007年06月12日(火) [過去の今日]

#1 google流が席巻してるように見えて実はmixiの囲い込みが着々と進んでる件について

最近、Web界隈はgoogleを手本として、API公開や他のサイトとのマッシュアップが全盛である。オープンな方針が世の中を変えて行く、そんな空気がある。

だが、こと日本国内に置いてはどうもそうとは限らないようである。

確かに日本企業もgoogle流のオープンな戦略をどんどん出してるところが多い。だが会員1000万人を抱える日本最大のコミュニティとなった mixi は、どんどんクローズドになっている。

こないだこの日記を携帯電話からも見れるように簡単な設定を施したので、携帯電話だけでmixiをやってるマイミクにも見てもらえるようになると思ってたのだが、非常に甘い判断だった。

ためしにモバイル版mixiからこの日記にアクセスしようとしたら、「mixiの日記を使ってないので表示できません」などというメッセージが。アホかー。最近のblogサービスはどこもモバイル対応してるわ!!

さらにIRCで指摘されて気付いたのだが、外部ブログを使ってる人のRSSを取りに来るタイミングが非常に遅い。1日に1回か2回チェックしに来るだけのよう。

n3.59-106-61-92.mixi.jp - - [06/Jun/2007:14:04:41 +0900] "GET /~koshian/index.rdf HTTP/1.1" 304 - "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [07/Jun/2007:04:54:10 +0900] "GET /~koshian/index.rdf HTTP/1.1" 304 - "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [07/Jun/2007:19:01:33 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 9109 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [08/Jun/2007:09:57:18 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 9006 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [09/Jun/2007:01:02:43 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 9021 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [09/Jun/2007:16:01:55 +0900] "GET /~koshian/index.rdf HTTP/1.1" 304 - "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [10/Jun/2007:07:03:23 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 8552 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [10/Jun/2007:21:58:58 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 8257 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [11/Jun/2007:13:01:06 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 8853 "-" "Mixi RSS Fetcher - Version 0.1"
n3.59-106-61-92.mixi.jp - - [12/Jun/2007:03:54:07 +0900] "GET /~koshian/index.rdf HTTP/1.1" 200 8811 "-" "Mixi RSS Fetcher - Version 0.1"

最近のアクセスはこんなものである。

このmixiの「外部ブログ差別」により、mixiはコンテンツをmixi内部だけに納めようとしている。mixiの外には決して出さないよう、注意を払っている。そう、mixiの中だけならmixiがコントロールできるからだ。

mixiの広告価値だけを向上させ、mixiがいつでも削除できる場所にだけコンテンツを集める事で、mixiにだけ都合がいい世界を作り上げようとしているのだ。

まあ何事も御上任せの日本人の国民性から言えば、これがマッチしてるのかもしれない。ウェブにおける対Google戦略と思えば悪くないのかもしれない。

だが、俺はこういうのは嫌いだ。他人の作った箱庭だけでなんて生きていけない。俺は俺の箱庭が欲しい。

ウェブとは、いやインターネットとは、そもそも箱庭同士を繋げる技術ではなかったか。

だからmixi住民よ、mixiを捨てよ。mixiの外にも携帯電話から書けるブログはいっぱいある。いわんやコンピュータを持ってるなら、いますぐ Livedoor blog でも nowa でも はてな でもいいからとっととblogを作ってこい! お前はお前の箱庭を作るのだ。

世界は広い。mixi人口1000万人など、インターネット人口10億人に比べれば、大海と池のようなものだ。さあその池から出て、一緒に自分の世界を作って行こう。ウェブは、両手を広げて待っている。

(@121)

この記事のURI

2007年06月13日(水) [過去の今日]

#1 C言語のポインタが難しくて挫折した経験

プログラマーになれる人なれない人 という記事を読んでて、ポインタと再帰が難しいという話が出てきた。

俺が昔、プログラミングができなかった頃、C言語にチャレンジして挫折したのは、やはりポインタだった。

解説書を読み、「ポインタはデータのメモリアドレスが参照できるもの」みたいな説明を読んでああなるほどね、と簡単に理解した。プログラミングができないとはいっても、BASICでゲームを作って遊んでた事はあるし、マシン語でメモリの特定番地から何バイトデータをもってくるみたいな事はやってたから、別にメモリアドレス云々はすぐ理解できた。

が、俺はここで悩み込んでしまった。みんなポインタは難しいって言ってる。理解できないって言ってる。俺はポインタをメモリ番地だと理解したけど、それで合ってるのか? メモリアドレス以外の何かがあるのか? もしかして俺はとんでもない勘違いをしてるのか? どういうことなんだ? わからない、ポインタってなんなんだ!

その後、perlでreferenceという概念に出会い、それと同じようなものかと思ったのだが、C言語を理解してる友人には違うものだと言われた。もうさっぱりわからない。

結局いまだにCを使う機会もなく、ポインタという概念を本当に俺が理解してるのかもよくわからない。OpenSSLのソースを追っかけてて、ポインタの参照先が関数になってたりしてるのを見て、いろんな使い方ができるもんだなあと感心した程度。PerlやJavaScriptでも変数に関数を放りこんだりはできるし、そのメモリ番地にロードされてるものがデータかプログラムかなんてたいした違いでも無いだろうから、別にそのへんは不思議に思ったりはしないけども。

とりあえず俺はいま、スクリプトを書いてお金を頂くようになったけども、プログラマに向いてるのかどうか、プログラマになれているのかどうかはよくわからない。Cを書くことがこれからあるのか、それもわからない。

ただ、これからもキーボードを叩いて生きて行きたいと思っている。

(@083)

この記事のURI

#2 F1カナダGP 琢磨とSAF1は正しかった

琢磨6位 ワークス全盛のF1に一石投じた というレーシングドライバー片山右京の書いた記事。

個人的な見解だが、もしペナルティー覚悟で給油もやっていれば、ブルツの前でゴール、表彰台に上れていたかもしれない。あくまでタラレバなのだが、十分にあり得たと思う。

片山右京という俺の心のヒーローに対してケチを付ける気は更々無いのだが、これはさすがに無いと思う。

俺も一瞬そう思ったのだが、すぐ否定した。なぜならペナルティを食らったら、次のピットでタイヤを交換できなかったからだ。

Yahooに転載されてるAUTO SPORTの記事 では、

「最後のセーフティーカー出動の時、ピットに戻ることにした。セーフティーカー先導下の数周をオプションタイヤで走ろうと思ったんだ。その後、まだセーフティーカーが出ている間にまたピットインして、プライムタイヤに換えた。おかげで他のドライバーたちがソフト寄りのタイヤで苦戦する中、僕は全力でプッシュできたんだ」

という佐藤琢磨のコメントが掲載されている。

今季のF1では、タイヤメーカーが用意した2種類のタイヤを2つとも、決勝レース中に1度は使わなくては行けないことになっている。妙なルールだが、タイヤメーカーのコストに配慮した結果だろう。

そして今回のカナダGPのジル・ヴィルヌーヴ・サーキットは、公園の周回道路を利用したコースということもあり、ソフトなオプションタイヤではすぐダレてしまって速く走れない。

つまるところ、琢磨とスーパーアグリがあのピットでやるべきだったのは、すばやくタイヤだけ交換してセーフティカーの後ろに付き、まだセーフティカーが出てる間にもう1度ピットに入ってタイヤ交換と給油を済ませる、ということだったわけだ。

つまりやるべきことはやっていた、というわけである。いけなかったのは給油するしないで揉めてピットから出るのが遅くなった事だけだ。しかしそれもセーフティカー中にどのみちもう1ピット入らなくてはいけなかったのだから、大きなロスでは無かったのかもしれない。

しかし実にわかりにくいルールである。セーフティカーが入ったら給油してはいけないと一言で言うと簡単だが、実際にあったようにセーフティカーが出る直前にピットに入ったらそれは給油してはいけないのかとか、具体的なタイミングがさっぱり見えない。こういうルールはレースを惑わせ、観客の混乱を招く、最悪のルールだろう。

思い切って給油を禁止してしまった方がいいのかもしれない。軽い方が有利なのだから、燃費も改善されるのではないか?

この記事のURI

#3 F1 佐藤琢磨のすごさは、ブレーキとセッティング

カナダGPでの佐藤琢磨6位入賞は、見ていて大興奮だった。

スーパーアグリとホンダと佐藤琢磨という、日本チームが日本のエンジンで日本人ドライバーがポイントを取るというのはそれだけでも前代未聞で、6位入賞までやってのけたのは快挙と言う他無い。「健闘」などと簡単に言ってのけたフジTVの女子アナは腹を割って詫びるべきである。

日本は高度経済成長後、世界第2位の経済大国として、またそれを背景に世界中で日本人の活躍が見られている。特に自動車に関しては、日本車はひとつのブランドを確立するまでになった。

だが、それでもF1で勝った日本人はまだ誰一人としていないのである。エンジンだけならホンダが何度も優勝した事があるが、それももう過去の話だ。チームでもホンダが昨年39年ぶりに勝ったが、それもただのまぐれ、たまたま速い車が全部潰れただけである。ましてやレーサーとしてF1で勝てた日本人など皆無だ。

それだけF1というスポーツは難しいのだ。チームも、エンジンも、ドライバーも良くなくては勝てない。すべてを揃えた者だけが勝利を手にする。

日本人は「勝つ」ことに慣れすぎてしまったのかもしれない。だから6位程度じゃ、喜べないのだろうか。

実際、これほど難しい世界で、佐藤琢磨という才能あるレーサーをホンダが解雇しなくてはならない状況に追い込まれたとき、彼の現役続行のために急造されたスーパーアグリF1チームが、瞬く間にこれだけの成績を残せるようになったのは奇跡的な事だ。

このカナダGP、我々日本人にとって最大の見せ場となった、昨年の世界チャンピオンであり、現在最速のマクラーレン・メルセデスを駆るフェルナンド・アロンソを、佐藤琢磨がオーバーテイクするシーンがYouTubeにあがっていた。どこの局のものかわからないが、アップロードから3日たっても削除されてないようだし、おそらくYouTubeと提携した局の映像だろう。

このオーバーテイクシーンをよく見て欲しい。シルバーアローと呼ばれる銀色のカラーリングを施されたマクラーレン・メルセデス、そのスリップストリームから佐藤琢磨のSAF1が出た瞬間に注目してもらいたい。

気がついただろうか? スリップストリームから琢磨が出たとき、アロンソの横に「並べてない」のである。普通、スリップストリームに付いた後続マシンのほうが余力を残してるはずで、コーナー手前では真横に並ぶものだろう。それがスリップから出てもまだマシン半分ほど負けていて、まったく並べていない。

Yahoo! F1にあるスピードトラップ を見てみると、アロンソの最高速度は324.2km/h、対して琢磨は317.5km/hである。 今季のF1はエンジン開発が凍結され、19000rpmでリミットがかけられているため、各メーカーともさほどエンジンに差は無い。つまるところ、それだけSAF1のマシンが不安定で、最高速度を犠牲にしてでもウィングを立てないと走れないということなのだ。

この速度さにも関わらず琢磨がアロンソを抜けたのは、アロンソのタイヤがぼろぼろだったこともあろうが、何よりそのブレーキングの上手さだ。2004年のアメリカGPで佐藤琢磨が見せてくれたオーバーテイクショーでも、やはりブレーキングの上手さが際立っていた。並べてない相手もガツンとブレーキを踏んだ瞬間、後方にぶっ飛んでいく様は、見ていて非常に気持ちがいい。その時の映像もあった。

こちらなどちょうど1馬身まるまる後ろにいるのに、ブレーキを踏んだ途端に前に出ている。すばらしいの一言である。

また、BARホンダ時代もSAF1時代も、佐藤琢磨がいるチームはマシンがどんどんよくなる傾向にある。おそらく琢磨はデーモン・ヒルなどと同じく、テストドライバーとしても優秀なのだろう。開発能力も高いに違いない。琢磨が2003年にテストドライバーをしていたBARホンダは、2004年にトップ3入りするほどの活躍を見せた。逆にレギュラードライバーになったあと、前任の世界チャンプでもあるジャック・ヴィルヌーヴに付いてたメカニックチームを丸々引き継いだのだが、これが恐らくよくなかったのだろう。

ジャック・ヴィルヌーヴはBARではまったく自分の思いどおりの走りができてなかった。頭のいいレーサーだし、その後ザウバーに移籍した際は短期間とはいえきちんとマシンを前進させていた事から見ても、開発能力のあるレーサーのはずである。BARのジャックチームはそれを活かせてなかったとしか思えない。

そのチームを引き継いでしまった琢磨は、期待通りの成果を挙げることができなかった。2005年のBARから100%ホンダチームとなった時も、やはり沈み込んでいった。それが結局琢磨のキャリアに影を落すことになるのだが、考えようによればそのようなチームに長くいないほうがよかったのかもしれない。

現実に今、SAF1で琢磨は伸び伸びとレースをし、マシンを開発し、今では元いたホンダチームより常に前のポジションにいる。これも琢磨の開発能力の賜物だろう。

また、タイミングモニタを見ていると、カナダGPで琢磨は細かいミスを何度もしているのがわかる。そりゃあれだけ滑る路面だし、不安定なSAF1なのだから当然なのだが、すごいのはミスしても抜かれず、致命的なダメージを負ったりもしてない事だ。

これはミスが致命的にならないギリギリコントロール可能なところに、セッティングの妥協点を見つけてる証拠だと、俺は思う。最高速度などウィングを寝かせればすぐ出るし、実際トヨタ勢やルノー勢は最高速度だけならトップクラスなのである。だがラップタイムはさほど上がらない。要するにトヨタやルノーはセッティングに失敗してるのだ。

しかしSAF1と佐藤琢磨はきちんと高度な妥協点を見つけてる。これがセッティングが上手いと言わずしてなんと言おう。

佐藤琢磨のすごさは、ブレーキとセッティング、そして開発能力にあるのだと、俺は思うのである。

(@741)

この記事のURI

2007年06月14日(木) [過去の今日]

#1 GMailの読み方

GMail が便利そうだというのは分かってたのだが、ショートカットが分からなくて今まで使ってなかった。ヘルプ通り押しても動かなくて、なんだこりゃーと思ってたのだ。

たまたま先日、設定でショートカットを有効にしないとショートカットが使えないことに気付いてオンにしてみたら、ちゃんとヘルプ通りのショートカットが使えたので、今さらではあるがさっそくメールの読み方を研究してみた。

まずgmailにログインしたら、受信箱が見える。ここにメールがずらりと並ぶのだが、これを1つのメールだと考えてはいけない。これはメールではなくスレッドなのだ。

ショートカット、jとkでスレッドを選択する。読みたいスレッドにカーソルを合わせ、oを押すとスレッドが展開される。スレッドの展開はストレートで、階層型にはなってないようだ。最新のメールが表示され、過去のメールは差出人と時刻だけが表示されている。

ここでショートカット、nとpを使い、メールを選択できる。選択したメールでoを押すと、メール内容が展開される。jとkを使うと、直接前後のスレッドが展開される。受信箱に戻るときはuを押す。

ここまではいいとして、問題はsubjectだけ見て既読にする操作だ。これができないと大量のメールは処理できない。

が、ここさすがgoogle、この問題を新しい方法で解決している。それはスレッドのミュートだ。

受信箱でjkを使い、読まないと決めたスレッドにあわせ、xを押す。そしてmを押すと、そのスレッドはミュートされ、その後そのスレッドに繋がるメールは送られて来ても見えなくなる。もちろん「すべてのメール」を選択すると、ミュートされたメールも読めるし、受信トレイに戻してやればまた見られるようになる。すばらしい。

その他のショートカットは ヘルプの「ショートカットとは何ですか。」 を参照されたし。

さすがにGoogleが作っただけあって、よく考えられている。ゼロベースからメールの読み方を考え直したのだろう。検索はそもそもお手のものだし、検索能力が充分ならフォルダ分けも要らないということか。確かに最近は真面目にフォルダ分けするのもめんどくさくなって来た。

しかし、まだGMailに乗り換える、という気にはならない。他人のサーバにメールを預けるのは、何年も前から自前のメールサーバを使って来た自分には、抵抗があるからだ。もしいまだにISPのメールサーバからPOPで読みこむだけのメール環境なら、すぐにも乗り換えていただろう。

そこをどうやって自分の中で折り合いを付けて行くか、考えていこうと思う。

(@000)

この記事のURI

2007年06月15日(金) [過去の今日]

#1 ポインタとリファレンス

先日 Cのポインタがわからん というのを、まあ半分愚痴なのだが何気に書いてみたところ、意外にも反応がもらえた。 参照(reference)とポインタの間の大きい(かも知れない)溝 という記事で、

参照     → increment/decrementのような操作ができない
ポインタ → increment/decrementのような操作ができる

との由。

あれ、そうだっけ、と思ってやってみると、

$ perl -le 'sub hoge{(local(*i)) = @_; $i++;} my $i = 10; hoge(\$i);print $i;'
11

……できてるな。

ちょっと検索してみたら、 Q.Cにはreference(参照)が無いと聞きましたが本当でしょうか? referenceが無ければリンクリストすら表現できないと思うのですが? という質問と回答を見つけた。確かにreferenceとpointerの違いとして、

Cのポインターは+, -, ++, --(加算、減算、インクリメント、デクリメント)などの算術演算が可能

と、述べられてるな。

つまりあれか、俺がPerlのreferenceのつもりで言ってたのが、前の記事の某友人や反応くださった方にはJavaのreferenceとして認識されてたわけか。そりゃー違うわけだ。C++にも参照があるみたいだからそっちかもしれんな。

しかし、Perlの参照(reference)ってこう見るとCのポインタとほとんど変わらないように見えるなあ。配列型も関数型もいけるし、メモリアドレスというわけじゃないってのが違うくらいか。

さっきのワンライナーをCでやると、

#include <stdio.h>

int hoge(int *i)
{
	(*i)++;
}

int main()
{
	int i;

	i = 10;
	hoge(&i);
	printf("%d\n", i);
}

こんな感じか。 渡し方と受け取り方が違うだけに見えるなあ。

というわけで紛らわしい言い方してごめんよ >某友人。

紛らわしい書き方してごめんなさい & 反応ありがとうございました。 >雑記帖リターンズの方

(@040)

この記事のURI

2007年06月16日() [過去の今日]

#1 「いじめられる側の問題」を主張する人は、いじめの本質が見えてない

「いじめられる側にも問題がある」と思います。 という記事。

著者はいじめられっ子という立場から問題があるという主張をしてらっしゃり、それに異論があるわけではない。だが、それは問題の本質じゃないと思うのだ。

そりゃあ考えても見れば、話が通じない奴とは関わりたくないからシカトするだろうし、運動のできない奴とスポーツを一緒にやっても思いどおりのプレーができないだろう。気に入らない奴と同じ狭い教室で一日の大半を過ごさなきゃいけないのは、ストレスに決まっている。

そこで「みんなに気に入られない奴が悪い」という結論に持って行くか? そりゃ問題はあるだろうさ。でもね、問題があることと解決の糸口になることとは、別なんだよ。

よく考えてみよう。社会には自分の気に入らない奴なんていっぱいいる。一緒に仕事をしててドンくさい、やってられないと思う事もあるだろう。その時、みんなどうやって解決してる?

配置転換をお願いしたり、一緒に仕事しないで済むようにどうにかしたり、少しマシな奴だとどうにか仕事を覚えてもらえるように協力したりするんじゃない?

それはお金を稼ぐ、という目的を持ってそこに集まってるからだよね。みんなそこだけは一致してるし、どうにもならなければ別な場所でやればいいのもわかってる。

でも、学校はそうじゃない。義務だから行ってるだけという人が大半じゃないか? それもクラスはおろか、学校だって学区で決められていて、自分で望んでそこにいる、なんて奴はほとんどいるはずがない。

要するに、子供たちは逃げ場が無いんだ。どうにもできないのがわかってるから、しかたなくいじめに走る。

そりゃあ40人も子供を集めれば、1人や2人、ちょっとおかしい奴くらいいるさ。それは自然な事だ。人間をはじめ動物はみな多様性を持って生まれて来る。その多様性が急激な環境変化の中でも種が生き残る力になる。だからおかしい奴がいるのは当り前なんだ。

でも子供たちはそんなの理解できない。大人だって理解できない人が多いのに、子供に理解できるわけがない。おかしい奴が近くにいるのは、子供たちにとって脅威だったり、ストレスだったりするもんなんだ。

おかしい奴がいるけど逃げられない、目的をひとつにもできない。だからいじめが起きるんだ。

だからいじめ問題の本質は、教育制度そのものにある。今の義務教育のシステムは、いじめが生まれるようにできている。その事をまずは認識してもらいたいと、俺は思う。

ただもうひとつ、別のケースもある。それは「他人をいじめないと生きて行けない子」がいるという問題だ。ある種の病ではないかと思う。それが育った環境に原因があるのか、それともこれも多様性の一環なのかは、俺にはわからない。

(@007)

この記事のURI

#2 はてブをdel.icio.usに移動してみた

なんかdel.icio.usのタグ整理機能が便利で便利でしょうがなくて、突発的にdel.icio.usに乗り換えることにした。

例によってCPANに WebService::SyncSBS::D2H というのがあったので、これをそのまま使おうとしたのだが、はてなはAtomAPIじゃ最近の30件しか取得できない模様。

よく見たら設定のエクスポートに同じ形式で全件取得できるURLがあったので、そっちから取得するようにWebService::SyncSBS::D2HとWebService::SyncSBS::D2H::Hatenaに手を入れた。

diff -ur WebService-SyncSBS-D2H-0.03.orig/lib/WebService/SyncSBS/D2H.pm WebService-SyncSBS-D2H-0.03/lib/WebService/SyncSBS/D2H.pm
--- WebService-SyncSBS-D2H-0.03.orig/lib/WebService/SyncSBS/D2H.pm	2005-12-01 18:43:15.000000000 +0900
+++ WebService-SyncSBS-D2H-0.03/lib/WebService/SyncSBS/D2H.pm	2007-06-16 07:41:53.000000000 +0900
@@ -26,6 +26,7 @@
 	hatena    => WebService::SyncSBS::Hatena->new({
 	    user => $args->{hatena_user},
 	    pass => $args->{hatena_pass},
+	    dump_all => $args->{hatena_dump_all},
 	}),
     }, $class;
 
diff -ur WebService-SyncSBS-D2H-0.03.orig/lib/WebService/SyncSBS/Hatena.pm WebService-SyncSBS-D2H-0.03/lib/WebService/SyncSBS/Hatena.pm
--- WebService-SyncSBS-D2H-0.03.orig/lib/WebService/SyncSBS/Hatena.pm	2005-12-01 18:43:01.000000000 +0900
+++ WebService-SyncSBS-D2H-0.03/lib/WebService/SyncSBS/Hatena.pm	2007-06-16 07:41:53.000000000 +0900
@@ -12,7 +12,11 @@
 use XML::Atom::Link;
 use XML::Atom::Client;
 
-my $ep_root = 'http://b.hatena.ne.jp/atom';
+my $yes = 'yes';
+
+my $hb_root = 'http://b.hatena.ne.jp';
+my $hb_dump = $hb_root . '/dump';
+my $ep_root = $hb_root . '/atom';
 my $ep_post = $ep_root . '/post';
 my $ep_edit = $ep_root . '/edit';
 my $ep_feed = $ep_root . '/feed';
@@ -24,6 +28,7 @@
     my $self = bless {
 	user => $args->{user},
 	pass => $args->{pass},
+	dump_all => $args->{dump_all}
     }, $class;
 
     $self->{api} = XML::Atom::Client->new;
@@ -35,10 +40,10 @@
 
 sub get_recent {
     my $self = shift;
-
+    my $feed_url = $self->{dump_all} eq $yes ? $hb_dump : $ep_feed;
 
     my $ret = {};
-    my $feed = $self->{api}->getFeed($ep_feed);
+    my $feed = $self->{api}->getFeed($feed_url);
     return $ret unless $feed;
     foreach ($feed->entries) {
 	my $href;

これでぶんまわしてみると、なぜかはてなよりdel.icio.usのほうがアイテムが多い……まいっか。一応全部いけてるっぽいし

このライブラリのすごいところは、一方通行じゃなくてはてなとdel.icio.usの両方を見てお互い無いものを足してくれるところ。要するにdel.icio.usに移行してもしなくても、どっちかにclipしておけばどっちにも反映されるわけだ。さっそくcronでまわしておくことにした。

ブックマーク追加インターフェイスがはてなでもdel.icio.usでも選べてついでにお互いがお互いのバックアップにもなるなんて最高だね。

(@060)

この記事のURI

2007年06月17日() [過去の今日]

#1 アフィリエイトはみんなが幸せになるから積極的にやるべきだ

「自由気ままな名無し」というblogの記事 に、「世界を見る目が変わる50の事実」という2chのコピペらしきものが転載されていた。

知ってる人はとっくに気付いただろうが、これはジェシカ・ウィリアムズ著 世界を見る目が変わる50の事実 である。

世界を見る目が変わる50の事実

俺は堅苦しいことを言うつもりはないのだが、こういう他人の著作物からの転載をせっせとするというのはどうなんだろうか。せめてAmazonへのリンクくらい張っておいてくれてもいいだろう。タイトルそのまんまなんだし、すぐ見つかるはずだ。

そこから誰かが本を買えば著者の利益になるし、アフィリエイトIDを付けておけば自分の利益にもなる。そうすれば誰も損しないのに、どうしてやらないのだろうか。

そういえば、2chの スレ紹介blogの閉鎖が相次いだ のは1年ほど前だったか。あれもアフィリエイトを付けていたのが反感を買ったようだが、そこから2chへの流入もあったはずだし、結局のところは2ch運営も黙認状態になっている。

どうもいまだに儲かるとか儲けるとかいう事に対して罪悪感を持つ人が多いような気がしてならない。それも他人の儲けとなると親のかたきのように嫌う人もいるようだ。

別に儲からなくてもいいのである。それが目的でアフィリエイトリンクを付けるわけじゃなく、みんなが利益を分け合えるように付けるだけなのである。

よく紹介されてる商品を買うときに、アフィリエイトリンクを避けて買いに行く人もいるが、あれは意味が無い。紹介者に払われるはずだった分がAmazonならAmazonの儲けになるだけである。別に買う値段が変わるわけでもないし、著作者に行く金が減るわけでもない。ましてや自分の懷に何が入って来るわけでもない。

blogというメディアは、一つ一つを見れば非常に小さなメディアだ。しかしそれが何百万もの数になると、俄然巨大なメディアになる。月間5000PVのサイトも100万集まれば5 0億PVになる。広告主にとっては充分魅力的だろう。ましてや日本のblogだけでも数百万あると言われてるのだから。

そのほとんどが趣味でやってるだけだろうが、そこに広告を付けるだけで「誰かの利益」になる。コンテンツマッチ広告だと誰の利益になるかわからないが、わからないからこそ気兼ねする心配もない。その利益が自分の利益になることもあるが、それは期待しなくていい。どうせ何年かたったころにお小遣い程度入って来るだけだ。しかし、そんなものでも嬉しいではないか?

自分のblogに広告を出すのに、別にお金はかからない。広告を出すコストはGoogleなりなんなりの広告代理店が、広告主から支払われたお金の中から捻り出してくれている。広告効果を上げる仕事は、それこそGoogleなどのコンテンツマッチ技術がやってくれる。それでGoogleは巨大な利益をあげている。

我々はその巨大な利益の中から、たまにお小遣いをもらえばいい。副収入だとかサイドビジネスだとか、そんなことまで考える必要は無い。ただ、たいしてアクセスの無いようなサイトでも、広告を出すことで誰かの役に立つ。広告主は何十万ものサイトに広告が出せるし、広告代理店はそれで儲かるし、サイトオーナーはたまーにお小遣いがもらえる。コンテンツマッチ技術があれば、サイトにアクセスした人に自分の書いた情報以外の選択肢も自動で提示できる。ほら、みんな幸せになれるでしょ?

もちろんそれをビジネスとしてやってる人たちもいるし、 今後ネットの広告価値が上がる ことで、少なくとも向こう十何年かは拡大して行く業態だろう。それはやりたい人がやればいい。

趣味のブログは、趣味のついでに誰かの役に立ち、役にたった分だけお小遣いをもらう。それだけでいいのだ。それだけでみんなが幸せになれる。

だから堂々と広告をつけて、誰かの役に立って欲しい。

(@150)

この記事のURI

2007年06月18日(月) [過去の今日]

#1 ふところ具合いが悪いです

はてブでもらったコメント に、

懷 → 懐じゃなくて懷なのが、ちょっと気になった

というのがあって、はて、と。

よーくみるとどうやら旧字のほうを使ってたらしい。-misc-fixed-の14じゃわかんねーよ!

んで 美紗緒辞書 のmmain.ctdに該当バグはっけそ。

ふところ #T35 懷 懐

うっへり、こんなとろこで順番逆だったか。

しっかし、パッと見違いわからんなあ。とりあえず修正ー

(@086)

この記事のURI

#2 bashを捨ててzshを使うべきたった3つの理由

去年だったか一昨年あたりだったかからbashをやめてzshを使っているのだが、実はその理由というのはたいしたものではない。

世の中にはzshを使うとこんなに幸せになれますよ的な記事がいっぱいあるのだが、そこまでカスタマイズにハマり込むほど暇でもないし、bash程度でコマンドラインは充分すぎるほど便利なのだ。それ以上の事をするならそれこそスクリプトでも書いて~/binに入れておけばいい。

で、それなのになんでzshを使ってるかというと、それでもbashには無い魅力がそこにあるからだ。

1. ヒストリが共有できる:

もうこれが最大の理由。

コマンドライン、CLIの魅力のひとつに、実行したコマンドを保存しておけるというのがある。使い方のうろ覚えなコマンドなど、Ctrl+rを押してヒストリをインクリメンタル検索し、過去に実行したときのオプションとかを引っ張り出して来るのが超簡単。

だから俺はHISTSIZEを1万以上にしてるし、重複は保存しないようにhist_ignore_all_dupsオプションも入れてある。これなら数ヶ月分のコマンド履歴が保存される。

そんな使い方をするのだから、 GNU screen を使って何個ものシェルを立ち上げてると、ヒストリが分裂してしまうのは困るのである。zshのshare_historyオプションは欠かせない。

2. bashより速い:

これもけっこう重要。bashもbash_complitionをロードすればzsh並みの強力なオプション補完機能が得られるのだが、zshのそれよりどうしても遅い。screenで画面を作ったりすると数秒待たされる。マシンにもよるだろうが、zshなら1秒もかからない。

3. 補完で大文字小文字を区別しない:

大文字小文字の区別はしてくれた方が便利なのだが、ことコマンドラインの補完に関してはしてくれないほうが便利。大文字か小文字かなんて覚えてないし、いちいちShift押すのもかったるい。それくらい機械がさっくり補完してくれと思う。Emacsの補完もそうできないかなあ。 *1

まとめ:

というわけで、こんな理由で使ってるものだから、bashもヒストリ共有ができて速くなって補完に大文字小文字区別しなくなればbashに戻っちゃうと思う。別にzshならではというわけでもないし、bashを開発すれば実現可能な気がする。さすがにそんな手間かける気無いけども。

最後に、上のような理由でzshを使ってる俺の~/.zshrcをはっつけておこう。使いはじめのときにあちこちからコピペしたり友人からもらったりしたので、どこかで見たものばかりだと思うけどね。

bindkey -e
PATH=$HOME/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin:$PATH
PS1=$'%n@%m:%~\n$ '
RPS1=$'%D'

## 補完時に大小文字を区別しない
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
zstyle ':completion:*' menu select=1

autoload -U compinit && compinit

## options
setopt BASH_AUTO_LIST
setopt LIST_AMBIGUOUS
setopt AUTO_PUSHD

## history
HISTFILE="$HOME/.zsh_history"
HISTSIZE=16384
SAVEHIST=16384
setopt hist_ignore_all_dups
setopt hist_reduce_blanks
setopt share_history

しかし、16384なんてヒストリサイズにしたのはなんでだろうか? 記憶が無い。

~/.zsh_historyを確認してみたら、去年の秋頃の作業と思しきものが頭のほうにあったので、およそ8〜9ヵ月分のヒストリが保存されてる模様。もっと増やしてもいいな。

(@113)


*1: などと言っていたら、 えりむが教えてくれた 。emacsでも行けるらしい。ファイル名補完は(setq completion-ignore-case t)じゃなくて(setq read-file-name-completion-ignore-case t)のようだ。thx elim! I love you!
この記事のURI

最近の記事

以上、8 日分

タイトル一覧


カテゴリ分類
Powered by hns-2.19.8, HyperNikkiSystem Project

過去にこの日記が置いてあったcgi.misao.gr.jpは廃止されました。それによって記事へのURIが変わってしまっています。cgi.misao.gr.jpをwww.misao.gr.jpと置き換えるだけで同じ記事にアクセスできるはずです。

Sugano "狐志庵" Yoshihisa(E) @ 美紗緒ネットワーク <koshian@misao.gr.jp>
日記管理ページ