Are Web Services the New CORBA?
Well said. SOA hype is nothing but "hey, haven't you said the very same staff for CORBA [3-10] years ago?". You must ask those shameless rascals so. They won't have an answer for you.
1/25/2005
BloglinesからRSSを引き上げる
The Trademark Blog: "Why I Have Asked Bloglines To Remove My Site From Its 'Service' "
ほぇー。そういうconcernがあるのかぁ。RSSをBloglinesに登録するという行為は、RSS(に載っているコンテンツ)の持ち主ではなく、単にそれを読みたい人である、ってことが問題なんだろうか。となると、Bloglinesは、新規にRSSが登録されるとき、RSSの持ち主にコンタクトして、Yes/Noをしなければならないってこと?さらにさらに、どういうプロファイルの人に対してはNo、とかできるようにすると便利ってこと?
これってBloglinesだけじゃなく、RSSアグリゲータすべてにいえることなんだろうなぁ。デスクトップアグリゲータだって広告表示したりできるもんね。
I create content in part to promote my law firm, which I cannot do effectively if my contact info is removed. I do not participate in targeted advertising programs because the majority of advertisers that target the keyword 'trademark' are competitors. I cannot prevent such advertising when my page is reproduced and 'framed' by a third party.
ほぇー。そういうconcernがあるのかぁ。RSSをBloglinesに登録するという行為は、RSS(に載っているコンテンツ)の持ち主ではなく、単にそれを読みたい人である、ってことが問題なんだろうか。となると、Bloglinesは、新規にRSSが登録されるとき、RSSの持ち主にコンタクトして、Yes/Noをしなければならないってこと?さらにさらに、どういうプロファイルの人に対してはNo、とかできるようにすると便利ってこと?
これってBloglinesだけじゃなく、RSSアグリゲータすべてにいえることなんだろうなぁ。デスクトップアグリゲータだって広告表示したりできるもんね。
1/24/2005
Audioscrobbler :: Development - Last.fm Streaming API
なんとなく呼ばれたような気がするので、Last.fmのストリーム情報を表示するiTunesプラグイン開発中。って簡単な気がするけど時間がない。
Last.fm Streaming APIを使うわけですが、これを見てると、やっぱりXMLってこのテの用途には不要?
Last.fm Streaming APIを使うわけですが、これを見てると、やっぱりXMLってこのテの用途には不要?
1/22/2005
1/20/2005
iArtworkの制限いろいろ
あーちなみにiArtworkでアートワークをiTunesにD&Dとかはできませんので。いやー、それAmazonの利用規約に違反しちゃいますもん。見るだけにしといてください。
あ、あとイメージはあるのに取れない!なんてこともあると思います。iTunesのトラックデータから、アルバム名とアーティスト名を取って、それをAWS ECS 4.0のItemSearchでTitle=とArtist=を投げて、返された最初のCDのイメージなんで。(Disk 1)とか入ってたり、コンピとかでアーティスト名+アルバムで引けなかったりすることもありますし、たまたまAmazonの検索結果順序が変で、違うアルバムが出ちゃったりすることもあります。すみません。
あ、あとイメージはあるのに取れない!なんてこともあると思います。iTunesのトラックデータから、アルバム名とアーティスト名を取って、それをAWS ECS 4.0のItemSearchでTitle=とArtist=を投げて、返された最初のCDのイメージなんで。(Disk 1)とか入ってたり、コンピとかでアーティスト名+アルバムで引けなかったりすることもありますし、たまたまAmazonの検索結果順序が変で、違うアルバムが出ちゃったりすることもあります。すみません。
iArtwork - iTunes for Windows Plugin to retrieve CD artwork from Amazon
また出たよ、SOA馬*
SOAフレームワークBeehiveに挑戦
アーキテクチャはコンテナです?どういうこと?
メッセージがサービスを集めて回ります?どういうこと?
書いた内容に責任持てよな、ほんと。
SOAは大ざっぱないい方をすればWebサービスのためのDIコンテナ(DI:Dependency Injection:依存性の注入)です。1カ所以上の場所にコンポーネント化されて存在するWebサービスの中からダイナミックに必要なものを集めて組み立て、サービスを作り上げて提供する仕組みです。必要なサービスはメッセージがESB(エンタープライズサービスバス)を駆け巡って集めて回ります。
アーキテクチャはコンテナです?どういうこと?
メッセージがサービスを集めて回ります?どういうこと?
書いた内容に責任持てよな、ほんと。
コンサルティングフィーを寄付する方法
Clemens Vasters: Enterprise Development & Alien Abductions - One of these people can be all yours for an hour for a tiny little bit of money and for a very good cause
MSDN Regional Directorsによる(だと思う)寄付プロジェクト。
彼らはビッグネームだしコンサルティングは確かにValuableだと思うけど、1時間ってか。そういうタイムフレームで商売ができるとは知らなかった。日本じゃありえないよなー。1時間の積み重ねってことならあるかもしれないけど、最初から1時間だけなんて。
MSDN Regional Directorsによる(だと思う)寄付プロジェクト。
彼らはビッグネームだしコンサルティングは確かにValuableだと思うけど、1時間ってか。そういうタイムフレームで商売ができるとは知らなかった。日本じゃありえないよなー。1時間の積み重ねってことならあるかもしれないけど、最初から1時間だけなんて。
1/19/2005
"x.atom+xml"って何?
今日気づいたんですが、TypePadもLivedoorもはてなフォトライフも、Content-Type: application/x.atom+xmlを使ってるんですけど、これ何?IETFのドラフトではapplication/atom+xmlって書いてあるんですけど...。
追記:http://intertwingly.net/wiki/pie/PaceConsistentMimeType によると「Change all instances of application/x.atom+xml to application/atom+xml. 」ってことらしいけど、これってどうなったの?
さらに追記:APIのほうはドキュメントが更新されてないからx.なんですね。よくわからんけど。でも、を返しているレスポンスのContent-Typeがx.なのはOKなのかなー。
追記:http://intertwingly.net/wiki/pie/PaceConsistentMimeType によると「Change all instances of application/x.atom+xml to application/atom+xml. 」ってことらしいけど、これってどうなったの?
さらに追記:APIのほうはドキュメントが更新されてないからx.なんですね。よくわからんけど。でも、
Amazon DevCon
Amazon DevCon
こういうのがあるんだもん、うらやましいよなぁあっちは。Joel Spolsky、James Gosling、Rael Dornfestだって。なんちゅう顔ぶれ。しかも無料。しかもむこうからこっちに来てしゃべってくれるなんて。耳かっぽじってよーく聞いてこい!といいたい。
こういうのがあるんだもん、うらやましいよなぁあっちは。Joel Spolsky、James Gosling、Rael Dornfestだって。なんちゅう顔ぶれ。しかも無料。しかもむこうからこっちに来てしゃべってくれるなんて。耳かっぽじってよーく聞いてこい!といいたい。
1/17/2005
1/15/2005
1/14/2005
XMLはinteroperabilityのためだけに*ある*
私はなぜXMLを愛していないか ~ 言語屋の視点から
まつもとさんの主張は、以前の僕の主張と似ている部分もある。出力と入力の双方が暗黙の合意(ランタイム・VMが同じとか)を持たない状況下で、流れるデータが自分の型を知らないことは悪でしかないと思う。
「Javaアプリケーションのスクリプト言語」っていうのがよくわからないんだけど、Javaプログラミングにおいてさまざまなフレームワークやらアプリケーション・サーバーやらがXMLからJavaソースを動的に生成してくれることで、Javaを動的に見せかける機能を持っている、ってことなのかな。それなら、今さらこの便利さは捨てられない、という点と、濫用されているということには同意。
なぜ濫用かといえば、そのXMLは最初からJava、もっといえばそのファイルを読む意図を持って作られたアプリケーション専用だからだ。XMLは出力時には想像できなかったプロセッサによって処理されることを許容しなければならないデータのためのものだと思っている。
makefileが広く浸透しているのにANTがXMLを採用した理由はなんでしょうか?ANTのページによると、makefileはタブだのスペースだのにこだわるからいやだって書いてあるけど、ANTのXMLだって書き損じがあれば動かない。ANTは、XMLには外部のファイルを参照する機能が標準であるにもかかわらず、とう独自のタグを濫造している。
まつもとさんの日記のコメント欄にあるとおり、僕もXMLはinteroperabilityのためだけにあると思う。まつもとさんは「あるべき」なら同意するが、今は「ある」といえる状況ではないと返答していて、それにも同意。でも、心構えとして、XMLはinteroperabilityのためだけにあるのだと思い込むことには意味がある。それはXMLで書くべきデータかどうか判定するときに一番最初に考えるべきことだから。
で、声を小にして言いたいのは、XMLデータの冗長性と思考停止した開発者のコンビネーションは、たとえそれがXMLで書くべきデータであったとしても、データの利用者に最悪のタグ地獄を招くことがあるってこと。あーあ。最初からやり直させてください(苦笑)。
まつもとさんの主張は、以前の僕の主張と似ている部分もある。出力と入力の双方が暗黙の合意(ランタイム・VMが同じとか)を持たない状況下で、流れるデータが自分の型を知らないことは悪でしかないと思う。
「Javaアプリケーションのスクリプト言語」っていうのがよくわからないんだけど、Javaプログラミングにおいてさまざまなフレームワークやらアプリケーション・サーバーやらがXMLからJavaソースを動的に生成してくれることで、Javaを動的に見せかける機能を持っている、ってことなのかな。それなら、今さらこの便利さは捨てられない、という点と、濫用されているということには同意。
なぜ濫用かといえば、そのXMLは最初からJava、もっといえばそのファイルを読む意図を持って作られたアプリケーション専用だからだ。XMLは出力時には想像できなかったプロセッサによって処理されることを許容しなければならないデータのためのものだと思っている。
makefileが広く浸透しているのにANTがXMLを採用した理由はなんでしょうか?ANTのページによると、makefileはタブだのスペースだのにこだわるからいやだって書いてあるけど、ANTのXMLだって書き損じがあれば動かない。ANTは、XMLには外部のファイルを参照する機能が標準であるにもかかわらず、とう独自のタグを濫造している。
まつもとさんの日記のコメント欄にあるとおり、僕もXMLはinteroperabilityのためだけにあると思う。まつもとさんは「あるべき」なら同意するが、今は「ある」といえる状況ではないと返答していて、それにも同意。でも、心構えとして、XMLはinteroperabilityのためだけにあるのだと思い込むことには意味がある。それはXMLで書くべきデータかどうか判定するときに一番最初に考えるべきことだから。
で、声を小にして言いたいのは、XMLデータの冗長性と思考停止した開発者のコンビネーションは、たとえそれがXMLで書くべきデータであったとしても、データの利用者に最悪のタグ地獄を招くことがあるってこと。あーあ。最初からやり直させてください(苦笑)。
Googleの中の人
そういえば出典を示していなかった。それはAdam Bosworthでした。
Adam Bosworth's Weblog: We all stand on the shoulders of giants
Adam Bosworth's Weblog: We all stand on the shoulders of giants
It would seem that these cacophonous critics, yammering about giving back and sweepingly ignoring the 100's of billions of times people use and appreciate what Google gives them for free every day from Search to Scholar to Blogger to gMail to Picasa, do not understand this basic fact.
1/13/2005
小山田君きたー
クリエイティブ・コモンズのライセンスつきCD『The WIRED CD』に参加する
小山田君ことコーネリアスのインタビュー。
飛躍かもしれないけど、このライブ感覚って今の自分の仕事を取り巻く環境とも関係している気がした。ここでいう、ラップトップでやってる音楽ってのがWebサービスの世界ではやれ実証実験だとかベンダー肝いり無償紺猿付きの実装とかだと勝手に設定してやると、その対極にあるライブ感っていうのは今on the wireで流れているXMLであるような。
で、そのライブ感の中でお互いが少しずつ自分を調整しながら全体としての「音楽」を作り出す。調整するのは自分の楽器であって他人の楽器じゃない。それぞれが自分を、しかも創造的挑戦的に調整していくことで、Jazzのセッションのような全体としてのものづくりをする。そういうのって観てるだけでもおもしろい上に、参加すればもっとおもしろい。きっと「Webサービス」も同じだろう。
小山田君ことコーネリアスのインタビュー。
今、楽器をプレイすることはどんな意味がありますか?
たまたま誘われたからっていうのもあるんですけど、実際にライブで、その場で音楽をみんなで一緒に楽しむ、っていうのが重要になっていく感じはしてますね。この前の「SONAR」では、ラップトップで音楽をやっている人が多かったんです。見ている側からすれば、あまり面白くはないですよね。今、この人が鳴らした音がここで鳴っている、っていうほうが、だんぜん説得力がある。そういうものはやっぱりなくならない気がしています。
(強調は私)
飛躍かもしれないけど、このライブ感覚って今の自分の仕事を取り巻く環境とも関係している気がした。ここでいう、ラップトップでやってる音楽ってのがWebサービスの世界ではやれ実証実験だとかベンダー肝いり無償紺猿付きの実装とかだと勝手に設定してやると、その対極にあるライブ感っていうのは今on the wireで流れているXMLであるような。
で、そのライブ感の中でお互いが少しずつ自分を調整しながら全体としての「音楽」を作り出す。調整するのは自分の楽器であって他人の楽器じゃない。それぞれが自分を、しかも創造的挑戦的に調整していくことで、Jazzのセッションのような全体としてのものづくりをする。そういうのって観てるだけでもおもしろい上に、参加すればもっとおもしろい。きっと「Webサービス」も同じだろう。
MSN Search Beta で RSS2.0対応
MSN Searchのベータで検索した結果のURLに「&format=rss」を追加するだけでRSSを吐いてくれる、ってことなんですが。
RSS 2.0のcopyrightには次の文句が:
「These XML results may not be used, reproduced or transmitted in any manner or for any purpose other than rendering MSN Search results within an RSS aggregator for your personal, non-commercial use.」
たとえばこのブログのサイドバーにRSSの結果をHTMLに変換して表示するなんてのはだめ、ってことですよね。ベータだから、たとえばサーバーの負荷を考えて、とかいうことなのか?ワケワカラン。
RSS 2.0のcopyrightには次の文句が:
「These XML results may not be used, reproduced or transmitted in any manner or for any purpose other than rendering MSN Search results within an RSS aggregator for your personal, non-commercial use.」
たとえばこのブログのサイドバーにRSSの結果をHTMLに変換して表示するなんてのはだめ、ってことですよね。ベータだから、たとえばサーバーの負荷を考えて、とかいうことなのか?ワケワカラン。
1/11/2005
Very small geeks meeting
うちのボスの紹介で、Technorati.jpのGenさんと、いわずと知れたG-Toolsの金子さんと食事。たまに外で、同じような方向性の人たちと話さないと遅れてることを痛感。とりあえずさっそくdel.icio.usに登録してみた。いやぁ、遅れてる。ホント。
1/09/2005
terminated, alone
で、古田ブログにあったので久しぶりに真鍋ブログを見てみたら...
>>
「終わるまで一時間くらいかかっちゃいますけど・・・。ご家族の方はどちらに??」
わあああああああああああああん!!(泣)
ひとりDeath!!!!!!!!!!!(涙)
<<
一人デスはやっぱつらいだろうなあ。メガデスがいいなあやっぱり。メガ単位の公衆の面前で倒れ死ぬ...それって力石じゃん。
>>
「終わるまで一時間くらいかかっちゃいますけど・・・。ご家族の方はどちらに??」
わあああああああああああああん!!(泣)
ひとりDeath!!!!!!!!!!!(涙)
<<
一人デスはやっぱつらいだろうなあ。メガデスがいいなあやっぱり。メガ単位の公衆の面前で倒れ死ぬ...それって力石じゃん。
e4x and atom api rocks!
OK, have been playing with Rhino/e4x and Atom API with Blogger/Typepad. Those toys rock!..., well except Blogger. The same Atom post was accepted by Typepad, but Blogger keeps complaining with "Malformed XML" error. I believe it is you who is malfunctioning, Blogger!
1/08/2005
サービスだけで「IT立国」は実現できない、かも
サービスだけで「IT立国」は実現できない:笑門来福
>>日本の「ものづくり」の特徴である品質やきめ細かさ<<
というのはよく聞く話だし、自分自身の周囲を省みても真だと言える。けど、これは「日本」の属性なんでしょうか?ではなくて、属人的なのではないかと考えます。だとすると、必要なのは人の提供(ライセンス)であることになります。属人的であるとすれば、そういう人がより集まったプロジェクトが必ずしも高品質になるとは限りませんし。
ソフトウェアの負け組を主張するのはまだ早い、というのには賛同しますが、ソフトウェアは知的財産だというのには、僕は最近は少し懐疑的です。だって知的なコードって見たことないもん(笑)。そりゃ、スゲー、美しい!、なるほどー、あったまいいなぁピョン吉っ!というソースコードならいくらでも見たことありますよ。だけど、そこにあふれる「知」が、そのソースコードの筆者の創作物だっ、て主張されると、うーんホント?と疑惑の目をむけざるを得ません。本当に「巨人の肩に乗った」んじゃないの?と。
例の「高速道路」論とあいまって、これから大量生産されるコードなんかに知の創造が含まれるわけないよなぁ、ってほうが現実的見方であるような気がしています。
じゃあ知はどこにあるんだ?それはコードに渡されるパラメータにあるんでしょう。たとえばわが社の在庫管理システムは相当優秀ってことになってます。相当優秀で競争優位を生み出しているので、当然ソースコードは公開しません、ってことになるんですが、それはソースコード=ソフトウェアに知が含まれているからではなく、パラメータがソースコードに埋め込まれてしまっているからでしょう。わが社の在庫管理システムと同等のものを作りたかったら、必要なのはそのソースコードではなく、パラメータのほうです。パラメータさえ知っていれば、ソースコードなんかバイト君を雇って書かせればいいでしょう。
Googleがオープンソースに貢献していないという議論があります。Googleの中の人はそれに対して、うちはGoogle、Orkut、GMail(をフリーで提供していること)を通して貢献していると主張しています。一見かみ合ってない議論ですが、ソースコードなんか重要ではなく、それによって何が起きるかが重要だという点では、上の議論と共通しているといえます。
で、元の話に戻ると、主張の中のソフトウェアとはソースコードのことだという前提にたつと、そこに知的財産なんかあるわけないってことです。ですから、ここでのソフトウェアとはそれ以外のものということになるでしょう。ですけど、汎用ソフトウェアってパラメータを与えなければ動かないわけなんで、汎用ソフトウェアにもまた知的財産なんかないと思われます。だから汎用ソフトウェアでIT立国って発想は成り立たないんではないかと。
うーん、いかにも最近の僕っぽい文章だ。ソフトウェアというもの全体に対して懐疑的っていうかやる気がないっていうか(笑)。
>>日本の「ものづくり」の特徴である品質やきめ細かさ<<
というのはよく聞く話だし、自分自身の周囲を省みても真だと言える。けど、これは「日本」の属性なんでしょうか?ではなくて、属人的なのではないかと考えます。だとすると、必要なのは人の提供(ライセンス)であることになります。属人的であるとすれば、そういう人がより集まったプロジェクトが必ずしも高品質になるとは限りませんし。
ソフトウェアの負け組を主張するのはまだ早い、というのには賛同しますが、ソフトウェアは知的財産だというのには、僕は最近は少し懐疑的です。だって知的なコードって見たことないもん(笑)。そりゃ、スゲー、美しい!、なるほどー、あったまいいなぁピョン吉っ!というソースコードならいくらでも見たことありますよ。だけど、そこにあふれる「知」が、そのソースコードの筆者の創作物だっ、て主張されると、うーんホント?と疑惑の目をむけざるを得ません。本当に「巨人の肩に乗った」んじゃないの?と。
例の「高速道路」論とあいまって、これから大量生産されるコードなんかに知の創造が含まれるわけないよなぁ、ってほうが現実的見方であるような気がしています。
じゃあ知はどこにあるんだ?それはコードに渡されるパラメータにあるんでしょう。たとえばわが社の在庫管理システムは相当優秀ってことになってます。相当優秀で競争優位を生み出しているので、当然ソースコードは公開しません、ってことになるんですが、それはソースコード=ソフトウェアに知が含まれているからではなく、パラメータがソースコードに埋め込まれてしまっているからでしょう。わが社の在庫管理システムと同等のものを作りたかったら、必要なのはそのソースコードではなく、パラメータのほうです。パラメータさえ知っていれば、ソースコードなんかバイト君を雇って書かせればいいでしょう。
Googleがオープンソースに貢献していないという議論があります。Googleの中の人はそれに対して、うちはGoogle、Orkut、GMail(をフリーで提供していること)を通して貢献していると主張しています。一見かみ合ってない議論ですが、ソースコードなんか重要ではなく、それによって何が起きるかが重要だという点では、上の議論と共通しているといえます。
で、元の話に戻ると、主張の中のソフトウェアとはソースコードのことだという前提にたつと、そこに知的財産なんかあるわけないってことです。ですから、ここでのソフトウェアとはそれ以外のものということになるでしょう。ですけど、汎用ソフトウェアってパラメータを与えなければ動かないわけなんで、汎用ソフトウェアにもまた知的財産なんかないと思われます。だから汎用ソフトウェアでIT立国って発想は成り立たないんではないかと。
うーん、いかにも最近の僕っぽい文章だ。ソフトウェアというもの全体に対して懐疑的っていうかやる気がないっていうか(笑)。
1/07/2005
1/06/2005
XMLとWebサービスで実現する「次世代のWeb」
XMLとWebサービスで実現する「次世代のWeb」ってなんとも大仰なタイトルで講演します。有料ですが、私やAmazonにはギャラは入りませんので、念のため。
話す内容は例の、Amazon.comの創業者兼CEO、Jeff Bezosがここで話していたり、同じくCTOにしてわがAmazon Web サービスチームの技術参謀であるAl Vermeulenが昨年のOOPSLAで話していた内容そのままです。技術の話じゃありません。技術っぽい話がお好きな方はデブサミのほうへどうぞ。
デブサミですが、私の担当セッションの表番組で一番人気は平鍋さんのやつだそうですし、おまけにartonさんまで並んでますから、私のほうは相当余裕があるものと思われます(泣笑)。
話す内容は例の、Amazon.comの創業者兼CEO、Jeff Bezosがここで話していたり、同じくCTOにしてわがAmazon Web サービスチームの技術参謀であるAl Vermeulenが昨年のOOPSLAで話していた内容そのままです。技術の話じゃありません。技術っぽい話がお好きな方はデブサミのほうへどうぞ。
デブサミですが、私の担当セッションの表番組で一番人気は平鍋さんのやつだそうですし、おまけにartonさんまで並んでますから、私のほうは相当余裕があるものと思われます(泣笑)。
1/05/2005
Web Services Mash-Up
O'Reilly Emerging Technology Conference 2005
今年のETConではWebサービスのワークショップをやるんだってさ。各社から技術サポートを出して、参加者がワークショップ形式でWebサービスクライアントアプリを作って発表しあうんだって。おもしろそー。
ってか日本でもこういうのやってくれぃ>イベントやってる各社
今年のETConではWebサービスのワークショップをやるんだってさ。各社から技術サポートを出して、参加者がワークショップ形式でWebサービスクライアントアプリを作って発表しあうんだって。おもしろそー。
ってか日本でもこういうのやってくれぃ>イベントやってる各社
1/04/2005
Artwork Plugin of iTunes for Windows!!!
Mac OS X 用には有名なJacketプラグインがあるんだけど、Windows用はなかったみたいなんで、作ってみた。
SDKドキュメントがしょぼすぎて四苦八苦したけど、終わってみればWeekend Projectでした。
SDKドキュメントがしょぼすぎて四苦八苦したけど、終わってみればWeekend Projectでした。
1/03/2005
12/30/2004
12/29/2004
12/26/2004
iPodか、それとも901iを買うのか。
既報のとおり、ドコモの901iシリーズならiTunesのAACが聞けるらしい。加えて、最近は出先で写真を撮ってFlickrに載せるってのも私的流行の兆し。iPodも、まともなデジカメも、カメラつきケータイも持ってない状況では、901iがどうにも気になる。うーん、Premini買ってまだ数ヶ月だしなぁ。
Ocean's 11
| オーシャンズ11 特別版 ブラッド・ピット ワーナー・ホーム・ビデオ 2002-08-09 売り上げランキング 7,039 おすすめ平均 Amazonで詳しく見る by G-Tools |
結構面白かった。ただ、ジュリアロバーツはやっぱり好みじゃないなあ。
Audioscrobbler サイドバー
AudioscrobblerのRSSをサイドに表示するようにしてみた。
んでもってこれを
<script type="text/javascript" src="http://your_url/thiscode.aspx"/>
みたいに貼る。以上。
<%@Page Language="C#"%>
<%@Import Namespace="System.Net"%>
<%@Import Namespace="System.IO"%>
<%@Import Namespace="System.Xml.XPath"%>
<%@Import Namespace="System.Xml"%>
<%
Response.Clear();
Response.ContentType = "text/html";
WebClient wc = new WebClient();
Stream str = wc.OpenRead(
"http://ws.audioscrobbler.com/rdf/history/fumiakiy");
XPathDocument doc = new XPathDocument(str);
str.Close();
XPathNavigator nav = doc.CreateNavigator();
XPathExpression expr =
nav.Compile("//rss:item/rss:link");
XmlNamespaceManager nsm =
new XmlNamespaceManager(nav.NameTable);
nsm.AddNamespace("rss", "http://purl.org/rss/1.0/");
expr.SetContext(nsm);
XPathNodeIterator links = nav.Select(expr);
Response.Write("document.write('");
Response.Write("<ul>");
while (links.MoveNext()) {
XPathNavigator cur = links.Current;
string link = cur.Value;
cur.MoveToNext();
string description = cur.Value;
Response.Write("<li><a href=\"" +
link + "\">" + description + "</a></li>");
}
Response.Write("</ul>");
Response.Write("')");
Response.End();
%>
んでもってこれを
<script type="text/javascript" src="http://your_url/thiscode.aspx"/>
みたいに貼る。以上。
12/23/2004
12/22/2004
YahooとGoogle、あとAmazon
YahooとGoogleは何が違うのか
なるほど。で、Amazonはというと、どっちかといえばYahoo!に近いんだろうなぁ。下のエントリ見てもわかるとおり。自分自身の努力によってコンテンツを生み出しているという点で、やっぱりYahoo!に近いだろうと思う。
Yahoo!にもエバンジェリストがいるってのは興味深い。だってGoogleにはテクノロジを語る人間はいないから。Googleの中の人たちは、作ることの方を重視していて、それを広める力を自社内に持つ必要はないと思っていると思う。Yahoo!やAmazonにはエバンジェリストがいる。これもやっぱり人の力を借りるかどうかってことなんだろうか。
なるほど。で、Amazonはというと、どっちかといえばYahoo!に近いんだろうなぁ。下のエントリ見てもわかるとおり。自分自身の努力によってコンテンツを生み出しているという点で、やっぱりYahoo!に近いだろうと思う。
Yahoo!にもエバンジェリストがいるってのは興味深い。だってGoogleにはテクノロジを語る人間はいないから。Googleの中の人たちは、作ることの方を重視していて、それを広める力を自社内に持つ必要はないと思っていると思う。Yahoo!やAmazonにはエバンジェリストがいる。これもやっぱり人の力を借りるかどうかってことなんだろうか。
サンタが街にやってくる
今日、僕は知った。サンタはほんとにいるってことを。
一人じゃない、たくさんのサンタが千葉県の市川市にいた。彼ら彼女らは誰にも知られることなく、ただもくもくと、子供たちにプレゼントを届けるために働いていた。トナカイはいない、魔法のずた袋もないけど、やっぱりサンタたちは子供たちにプレゼントを届けるために、休憩も取らずにがんばっていた。
彼ら彼女らにも、ギフトの受け取り人とおなじくらいの幸あらんことを。
Happy Holidays for every single Amazon Employees at the Fulfilment Center!
一人じゃない、たくさんのサンタが千葉県の市川市にいた。彼ら彼女らは誰にも知られることなく、ただもくもくと、子供たちにプレゼントを届けるために働いていた。トナカイはいない、魔法のずた袋もないけど、やっぱりサンタたちは子供たちにプレゼントを届けるために、休憩も取らずにがんばっていた。
彼ら彼女らにも、ギフトの受け取り人とおなじくらいの幸あらんことを。
Happy Holidays for every single Amazon Employees at the Fulfilment Center!
12/21/2004
JScriptの「なぞのエラー」
宮川さんのところから。
JScript にしたいんだけど 謎のエラーでMyFriendlyName がとれないのでパス
なんだろ、と思ってみてみたら。わーこれ昔はまったっけ。
new ActiveXObjectではなく、WScript.CreateObjectを使えば解決だ!
msg = WScript.CreateObject('Messenger.UIAutomation.1');
WScript.Echo(msg.MyFriendlyName);
スクリプトエンジンのオブジェクト作成メソッド(JScriptならnew ActiveXObject、VBScriptだとCreateObject)を使うと、スレッドモデルの設定からDCOMからとにかくあらゆる問題が出るんで、ランタイムのオブジェクト作成メソッド(WSHならWScript.CreateObject、ASPならServer.CreateObject)を使わないとダメなんですよね。
なんだかなつかしいけど、いまさらながらCOMの話をほうぼうで聞くのはなんでだろうなぁ。以外にCOMの波がキテるのかも?
JScript にしたいんだけど 謎のエラーでMyFriendlyName がとれないのでパス
なんだろ、と思ってみてみたら。わーこれ昔はまったっけ。
new ActiveXObjectではなく、WScript.CreateObjectを使えば解決だ!
msg = WScript.CreateObject('Messenger.UIAutomation.1');
WScript.Echo(msg.MyFriendlyName);
スクリプトエンジンのオブジェクト作成メソッド(JScriptならnew ActiveXObject、VBScriptだとCreateObject)を使うと、スレッドモデルの設定からDCOMからとにかくあらゆる問題が出るんで、ランタイムのオブジェクト作成メソッド(WSHならWScript.CreateObject、ASPならServer.CreateObject)を使わないとダメなんですよね。
なんだかなつかしいけど、いまさらながらCOMの話をほうぼうで聞くのはなんでだろうなぁ。以外にCOMの波がキテるのかも?
12/20/2004
宮川さん台北で
YAPC::Taipei 2005
宮川さん、今度はTaipei Perl Monger: YAPCTaiepi2005でしゃべるそうな。すごいなー。
ところでTaipei.pmのページ、
この辺まではなるほど。で、
うー、激しく反応してしまう。
宮川さん、今度はTaipei Perl Monger: YAPCTaiepi2005でしゃべるそうな。すごいなー。
ところでTaipei.pmのページ、
- 活動時間:
- 地點:
- 講者:
- 預算:
- 贊助:
この辺まではなるほど。で、
- 工作人員:
うー、激しく反応してしまう。
12/18/2004
RemoteTunes 完成
RemoteTunes、できた。C#.NET+DCOMでiTunesをリモート操作します。
コードの肝は以下のライブラリで、GUI部分は単にこれらを呼んでいるだけです。これを作ると何がいいって、デバッグしやすいってだけですかね。tlbimpしたDLLを使ってもいいんですけど。
using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
namespace ITunesLib {
[ComImport()]
[Guid("9FAB0E27-70D7-4E3A-9965-B0C8B8869BB6")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITObject {
[DispId(0x60020001)]
string Name { get; set; }
}
[ComImport()]
[Guid("4CB0915D-1E54-4727-BAF3-CE6CC9A225A1")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITTrack : IITObject {
[DispId(0x60030005)]
string Album { get; set; }
[DispId(0x60030007)]
string Artist { get; set; }
}
[ComImport()]
[Guid("9DD6680B-3EDC-40db-A771-E6FE4832E34A")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITunes {
[DispId(0x60020000)]
void BackTrack();
[DispId(0x60020002)]
void NextTrack();
[DispId(0x60020003)]
void Pause();
[DispId(0x60020004)]
void Play();
[DispId(0x60020008)]
void Resume();
[DispId(0x6002000a)]
void Stop();
[DispId(0x60020037)]
IITTrack CurrentTrack {
get;
}
}
[ComImport()]
[Guid("DC0C2640-1415-4644-875C-6F4D769839BA")]
[ClassInterface(ClassInterfaceType.None)]
public class ITunesApp : IITunes {
#region IITunes メンバ
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020000)]
extern void IITunes.BackTrack();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020002)]
extern void IITunes.NextTrack();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020003)]
extern void IITunes.Pause();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020004)]
extern void IITunes.Play();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020008)]
extern void IITunes.Resume();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x6002000a)]
extern void IITunes.Stop();
[DispId(0x60020037)]
extern IITTrack IITunes.CurrentTrack {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020037)] get;
}
#endregion
}
}
でもって、クライアント側にiTunesをインスコするのはめんどくさいに決まってるので、iTunes.exeからTYPELIBリソースをエクスポートして、iTunesTypeLib.tlbとかいう名前でファイルを作ります。
クライアント側には.NET Framework 1.1を入れて、RemoteTunes.exeとiTunesTypeLib.tlbをコピーします。regtlb.exeあたりを使って、iTunesTypeLib.tlbをレジストリに登録しましょう。この作業は、iTunesをクライアント側にも入れているなら不要です。
さらに、次のようなレジストリエントリを作ります。「RemoteServerName」のところ、iTunesが入ってるマシンの名前(Windows名)を入れること。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AppID\{F98206B5-F052-4965-9FA0-85F61BC3C19D}]
@="iTunes"
"RemoteServerName"="HEY THIS IS WHERE YOUR ITUNES SERVER NAME SHOULD BE"
[HKEY_CLASSES_ROOT\AppID\iTunes.exe]
"AppID"="{F98206B5-F052-4965-9FA0-85F61BC3C19D}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}]
@="iTunes Class"
"AppID"="{F98206B5-F052-4965-9FA0-85F61BC3C19D}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\ProgID]
@="iTunes.Application.1"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\TypeLib]
@="{9E93C96F-CF0D-43f6-8BA8-B807A3370712}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\VersionIndependentProgID]
@="iTunes.Application"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}]
@="IiTunes"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\ProxyStubClsid]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\ProxyStubClsid32]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\TypeLib]
@="{9E93C96F-CF0D-43F6-8BA8-B807A3370712}"
"Version"="1.2"
さてさてこれでインスコは終わりなんですが、昨今のWindowsはセキュリティが厳しいので、作業はまだあるんですな。まず、管理ツールでコンポーネント サービスを開いて、コンポーネント サービス-コンピュータ-マイ コンピュータ-DCOM の構成と展開すると、段ボール箱にボールが入ったアイコンがいっぱい出ますね。中に「iTunes」があるんで、右クリックでプロパティを開けます。で、「ID」タブで「対話ユーザー」を選択しましょう。これやらないと、GUIをもつDCOMサーバーは、たいていまともに動きません。
実はクライアント側でも「コンポーネント サービス」でサーバー名とか設定できるんですが、今回は上のレジストリ設定でやっちゃったので、なし。
それと、XP SP2とかでファイアウォールを使ってる場合は、サーバー側でTCP 135を開けないとDCOMは使えません。
さらに、サーバー側のWindowsで有効なWindowsユーザーと同じユーザー名パスワードのユーザーをクライアント側でも使って、RemoteTunes.exeを起動しないと、セキュリティではねられます。ドメインなら同じユーザーでいいけど、自宅でActive Directory、しないよなぁ。。
そういうわけで久々のDCOMプログラミングは意外にすんなりいったのでした。あー、強いていえば、iTunesにはCOMイベントも定義されているんだけど、うまく拾えませんでした。
コードの肝は以下のライブラリで、GUI部分は単にこれらを呼んでいるだけです。これを作ると何がいいって、デバッグしやすいってだけですかね。tlbimpしたDLLを使ってもいいんですけど。
using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
namespace ITunesLib {
[ComImport()]
[Guid("9FAB0E27-70D7-4E3A-9965-B0C8B8869BB6")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITObject {
[DispId(0x60020001)]
string Name { get; set; }
}
[ComImport()]
[Guid("4CB0915D-1E54-4727-BAF3-CE6CC9A225A1")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITTrack : IITObject {
[DispId(0x60030005)]
string Album { get; set; }
[DispId(0x60030007)]
string Artist { get; set; }
}
[ComImport()]
[Guid("9DD6680B-3EDC-40db-A771-E6FE4832E34A")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IITunes {
[DispId(0x60020000)]
void BackTrack();
[DispId(0x60020002)]
void NextTrack();
[DispId(0x60020003)]
void Pause();
[DispId(0x60020004)]
void Play();
[DispId(0x60020008)]
void Resume();
[DispId(0x6002000a)]
void Stop();
[DispId(0x60020037)]
IITTrack CurrentTrack {
get;
}
}
[ComImport()]
[Guid("DC0C2640-1415-4644-875C-6F4D769839BA")]
[ClassInterface(ClassInterfaceType.None)]
public class ITunesApp : IITunes {
#region IITunes メンバ
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020000)]
extern void IITunes.BackTrack();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020002)]
extern void IITunes.NextTrack();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020003)]
extern void IITunes.Pause();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020004)]
extern void IITunes.Play();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020008)]
extern void IITunes.Resume();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x6002000a)]
extern void IITunes.Stop();
[DispId(0x60020037)]
extern IITTrack IITunes.CurrentTrack {
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x60020037)] get;
}
#endregion
}
}
でもって、クライアント側にiTunesをインスコするのはめんどくさいに決まってるので、iTunes.exeからTYPELIBリソースをエクスポートして、iTunesTypeLib.tlbとかいう名前でファイルを作ります。
クライアント側には.NET Framework 1.1を入れて、RemoteTunes.exeとiTunesTypeLib.tlbをコピーします。regtlb.exeあたりを使って、iTunesTypeLib.tlbをレジストリに登録しましょう。この作業は、iTunesをクライアント側にも入れているなら不要です。
さらに、次のようなレジストリエントリを作ります。「RemoteServerName」のところ、iTunesが入ってるマシンの名前(Windows名)を入れること。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AppID\{F98206B5-F052-4965-9FA0-85F61BC3C19D}]
@="iTunes"
"RemoteServerName"="HEY THIS IS WHERE YOUR ITUNES SERVER NAME SHOULD BE"
[HKEY_CLASSES_ROOT\AppID\iTunes.exe]
"AppID"="{F98206B5-F052-4965-9FA0-85F61BC3C19D}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}]
@="iTunes Class"
"AppID"="{F98206B5-F052-4965-9FA0-85F61BC3C19D}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\ProgID]
@="iTunes.Application.1"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\TypeLib]
@="{9E93C96F-CF0D-43f6-8BA8-B807A3370712}"
[HKEY_CLASSES_ROOT\CLSID\{DC0C2640-1415-4644-875C-6F4D769839BA}\VersionIndependentProgID]
@="iTunes.Application"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}]
@="IiTunes"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\ProxyStubClsid]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\ProxyStubClsid32]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}\TypeLib]
@="{9E93C96F-CF0D-43F6-8BA8-B807A3370712}"
"Version"="1.2"
さてさてこれでインスコは終わりなんですが、昨今のWindowsはセキュリティが厳しいので、作業はまだあるんですな。まず、管理ツールでコンポーネント サービスを開いて、コンポーネント サービス-コンピュータ-マイ コンピュータ-DCOM の構成と展開すると、段ボール箱にボールが入ったアイコンがいっぱい出ますね。中に「iTunes」があるんで、右クリックでプロパティを開けます。で、「ID」タブで「対話ユーザー」を選択しましょう。これやらないと、GUIをもつDCOMサーバーは、たいていまともに動きません。
実はクライアント側でも「コンポーネント サービス」でサーバー名とか設定できるんですが、今回は上のレジストリ設定でやっちゃったので、なし。
それと、XP SP2とかでファイアウォールを使ってる場合は、サーバー側でTCP 135を開けないとDCOMは使えません。
さらに、サーバー側のWindowsで有効なWindowsユーザーと同じユーザー名パスワードのユーザーをクライアント側でも使って、RemoteTunes.exeを起動しないと、セキュリティではねられます。ドメインなら同じユーザーでいいけど、自宅でActive Directory、しないよなぁ。。
そういうわけで久々のDCOMプログラミングは意外にすんなりいったのでした。あー、強いていえば、iTunesにはCOMイベントも定義されているんだけど、うまく拾えませんでした。
12/16/2004
AirMac Expressとの戦い、我が家の場合
AirMac Express到着。さて我が家には802.11bがすでに入っているので、AirMac Extremeではない既存無線LANルータをベースステーションに、Expressを無線クライアントとして利用することに。
パイオニアは常に偉大であることをここでも実感。うちでもWEP 128+MACアドレスフィルタを使っているので、まずはこれらをOFFにした。
続いて、無線LANルータのEthernetポートとAirMac ExpressのRJ-45を接続してコンセントに差し込む。母艦となるWindowsデスクトップにはAirMac Express付属のユーティリティをインストール。AirMac Expressのランプが緑点灯するのを確認。2-3分はかかる。起動遅っ。
さて、早速困った。AirMac Expressの設定アシスタントで、「新しいExpressの設定」->(AirMac Expressを認識)->「既存のネットワークに接続」(拡張はしない)で先に進んでも、無線LANネットワークの名前が出てこない。
ここでいろいろ四苦八苦し、設定をいじってはリセットを繰り返したんだけど、結局はこういう手順でいけた。
まず、アシスタントは使わない。同時にインストールされる管理ユーティリティを利用する。AirMac Expressがリストに出てきたら、「設定」ボタン。
「AirMac」タブで、「ベースステーションの接続先」を「既存のワイヤレスネットワークに接続する」を選択し、ネットワーク名に使ってる無線LANのESSIDを指定。
「セキュリティ」ボタンでWEPの設定をする。
これで「更新」ボタン。すると、AirMac Expressを更新して、再起動する。
再起動が終わると、当然Ethernetではつながらなくなるわけなので、AirMac Expressのランプがオレンジ点灯になったあたりで一度コンセントから引っこ抜き、つながっていたRJ-45をはずして、再度コンセントへ。再度起動シーケンスが始まる。
で、ここでしばらく悩んだんだけど、どうやらAirMac Expressの起動はべらぼうに遅いらしい。オレンジ点灯(2分)、一瞬緑、オレンジ点滅(2分)、緑点灯(起動成功)となる。オレンジ点滅の時間が長いので、「また失敗か。。。」などと悲観してはいけない。しばらーく待ってみると接続できた。
そういうわけで、うちの構成は
マンションEthernet-有線-Aterm WB45RL
Aterm WB45RL-有線-デスクトップ(iTunes)
Aterm WB45RL-有線-会社用VPNハード-有線-会社ラップトップ
Aterm WB45RL-無線-その他いろんなラップトップ
Aterm WB45RL-無線-リビングのAirMac Express
ということになったとさ。
どうやら、AirMac Extremeをベースにしない限り、WDSはできない模様。妙な囲い込み戦略だな。まあうちなんか狭いからいいけど。
さて問題はリビングにはまともなスピーカーはないってことだ。どうしよ(笑)
パイオニアは常に偉大であることをここでも実感。うちでもWEP 128+MACアドレスフィルタを使っているので、まずはこれらをOFFにした。
続いて、無線LANルータのEthernetポートとAirMac ExpressのRJ-45を接続してコンセントに差し込む。母艦となるWindowsデスクトップにはAirMac Express付属のユーティリティをインストール。AirMac Expressのランプが緑点灯するのを確認。2-3分はかかる。起動遅っ。
さて、早速困った。AirMac Expressの設定アシスタントで、「新しいExpressの設定」->(AirMac Expressを認識)->「既存のネットワークに接続」(拡張はしない)で先に進んでも、無線LANネットワークの名前が出てこない。
ここでいろいろ四苦八苦し、設定をいじってはリセットを繰り返したんだけど、結局はこういう手順でいけた。
まず、アシスタントは使わない。同時にインストールされる管理ユーティリティを利用する。AirMac Expressがリストに出てきたら、「設定」ボタン。
「AirMac」タブで、「ベースステーションの接続先」を「既存のワイヤレスネットワークに接続する」を選択し、ネットワーク名に使ってる無線LANのESSIDを指定。
「セキュリティ」ボタンでWEPの設定をする。
これで「更新」ボタン。すると、AirMac Expressを更新して、再起動する。
再起動が終わると、当然Ethernetではつながらなくなるわけなので、AirMac Expressのランプがオレンジ点灯になったあたりで一度コンセントから引っこ抜き、つながっていたRJ-45をはずして、再度コンセントへ。再度起動シーケンスが始まる。
で、ここでしばらく悩んだんだけど、どうやらAirMac Expressの起動はべらぼうに遅いらしい。オレンジ点灯(2分)、一瞬緑、オレンジ点滅(2分)、緑点灯(起動成功)となる。オレンジ点滅の時間が長いので、「また失敗か。。。」などと悲観してはいけない。しばらーく待ってみると接続できた。
そういうわけで、うちの構成は
マンションEthernet-有線-Aterm WB45RL
Aterm WB45RL-有線-デスクトップ(iTunes)
Aterm WB45RL-有線-会社用VPNハード-有線-会社ラップトップ
Aterm WB45RL-無線-その他いろんなラップトップ
Aterm WB45RL-無線-リビングのAirMac Express
ということになったとさ。
どうやら、AirMac Extremeをベースにしない限り、WDSはできない模様。妙な囲い込み戦略だな。まあうちなんか狭いからいいけど。
さて問題はリビングにはまともなスピーカーはないってことだ。どうしよ(笑)
12/15/2004
12/14/2004
JRの指定席特急券はなぜ1度しか変更できないの?
JR東日本旅客営業規則 第248条
普通乗車券、急行券、特別車両券、寝台券、コンパートメント券又は座席指定券を所持する旅客は、旅行開始前又は使用開始前に、あらかじめ係員に申し出て、その承諾を受け、1回に限つて、当該乗車券類から同種類の他の乗車券類に変更(この変更を「乗車券類変更」という。)することができる。(強調は筆者)
なんで?乗る前だよ?なんで1回しか変更できなくてその後は払い戻し扱い(手数料がかかる)なの?これって著しく消費者に不利じゃないの?
普通乗車券、急行券、特別車両券、寝台券、コンパートメント券又は座席指定券を所持する旅客は、旅行開始前又は使用開始前に、あらかじめ係員に申し出て、その承諾を受け、1回に限つて、当該乗車券類から同種類の他の乗車券類に変更(この変更を「乗車券類変更」という。)することができる。(強調は筆者)
なんで?乗る前だよ?なんで1回しか変更できなくてその後は払い戻し扱い(手数料がかかる)なの?これって著しく消費者に不利じゃないの?
12/13/2004
COM is fun!
iTunes COM for Windows SDK
ちょー久々のCOMプログラミング。目標は、リビングに常駐している奥さんのThinkpadにDCOMクライアントを入れ、隣の部屋にあるデスクトップのiTunesを操作し、そのiTunesからAirTunesで飛んでいる音楽をリビングのAirMac Expressで聴くという、まあAirTunesのリモコンみたいなものですね。ついでにリビングからデスクトップをリモートシャットダウンできるようにしよう。移動するの面倒だから。
いやぁ、COMってほんっとーに楽しいもんですね。
ちょー久々のCOMプログラミング。目標は、リビングに常駐している奥さんのThinkpadにDCOMクライアントを入れ、隣の部屋にあるデスクトップのiTunesを操作し、そのiTunesからAirTunesで飛んでいる音楽をリビングのAirMac Expressで聴くという、まあAirTunesのリモコンみたいなものですね。ついでにリビングからデスクトップをリモートシャットダウンできるようにしよう。移動するの面倒だから。
いやぁ、COMってほんっとーに楽しいもんですね。
12/11/2004
12/09/2004
元、株式会社ライブドアの執行役員である宮川達彦氏
KNN's Photolog
元、株式会社ライブドアの執行役員である宮川達彦氏というよりも「BlogHacks」の著者、「未来検索」、RSS-NEWSギャザリングの「bulknews」の開発者して有名な「みやーん」のSN.BARに登場です!
うわっ、やっぱりそうなんだ!「元」か...。で、現は?
元、株式会社ライブドアの執行役員である宮川達彦氏というよりも「BlogHacks」の著者、「未来検索」、RSS-NEWSギャザリングの「bulknews」の開発者して有名な「みやーん」のSN.BARに登場です!
うわっ、やっぱりそうなんだ!「元」か...。で、現は?
12/08/2004
ソフトウェア開発は知的か否か
IT最新事情 第43回~「ソフト開発を根底から見直そう」
もう1つ前川氏の注目すべき発言は「ソフト開発はソフト工場ではない」ということ。工場のように再生産をする場ではないからだ。もし再生産ならコピーの場になる。企画、設計、開発、テストというソフト開発は、プロセス管理よりも結果、つまりユーザーにとっていかに使いやすいシステムを作り上げるかにある。「バグのない完璧なシステムだが使い勝手の悪いものより、少しのバグはあるものの使い勝手のいいシステムのほうがいい」。
むむ?前半と後半で話につながりがないのですが。工場生産=使い勝手が悪いってこと?そんなことないでしょ。実際これまで散々人手が介在したせいで「たくさんバグがあって使えないシステム」が大量に生産されていたのでは?
「ソフト開発は知的労働でもあるはず。(だからこそ)個人の能力をより重視する必要がある」と前川氏は主張する。ところが、ソフト産業のSE、プログラマの給与実態を見ると、年齢序列になっている。プログラマ1人ひとりの生産性は大きく異なるにもかかわらずだ。できないプログラマほど開発時間が長くなるので、残業代は多くなる。
うーん、僕もそう思っていたんだけど、最近考えが変わってきた。伊藤さんのコメントを。
インターネット時代のエンジニアの価値
しかしいま周囲を見渡すとどうでしょう。対外的な交渉能力や管理能力などのメタな知識を除いた、いわゆる技術に関しての能力という意味では、高速道路の登場により各個人間での差がどんどん縮まってきているのが今の状況なのです。つまりは、人月計算による計算の方がより妥当であるという見解も、あながち間違いではないという方向に近づいているのかもしれないと見ることもできます(決してそうはあって欲しくないのではありますが)。
さらに過激に、Microsoftはソフトウェア工場を現実化しようとしています。
Software Factory
もちろんこの試みには反論もあって、たとえばGrady Boochみたいな人は、ソフトウェア開発を知的生産だと考えているようです。
Friday, December 3, 2004
Microsoft and Domain Specific Languages
さて、どっちが正しいことを言っているのでしょうね。私は、ソフトウェア開発の大部分は知的生産ではなく、機械で代替しうる肉体労働だと思います。その意味では年をとるほど体力がなくなるので、給与は安くなるべきだし、いずれはプログラマという仕事は人間の仕事ではなくなると思ってます。果たして。
---
それにしてもGrady Boochって人はブログの何たるかをまるで理解していないね。エントリからのリンクの多くは全部総称ページへのものだし、おまけにこの人のブログ、Permalinkがないじゃん。何だこれ。
もう1つ前川氏の注目すべき発言は「ソフト開発はソフト工場ではない」ということ。工場のように再生産をする場ではないからだ。もし再生産ならコピーの場になる。企画、設計、開発、テストというソフト開発は、プロセス管理よりも結果、つまりユーザーにとっていかに使いやすいシステムを作り上げるかにある。「バグのない完璧なシステムだが使い勝手の悪いものより、少しのバグはあるものの使い勝手のいいシステムのほうがいい」。
むむ?前半と後半で話につながりがないのですが。工場生産=使い勝手が悪いってこと?そんなことないでしょ。実際これまで散々人手が介在したせいで「たくさんバグがあって使えないシステム」が大量に生産されていたのでは?
「ソフト開発は知的労働でもあるはず。(だからこそ)個人の能力をより重視する必要がある」と前川氏は主張する。ところが、ソフト産業のSE、プログラマの給与実態を見ると、年齢序列になっている。プログラマ1人ひとりの生産性は大きく異なるにもかかわらずだ。できないプログラマほど開発時間が長くなるので、残業代は多くなる。
うーん、僕もそう思っていたんだけど、最近考えが変わってきた。伊藤さんのコメントを。
インターネット時代のエンジニアの価値
しかしいま周囲を見渡すとどうでしょう。対外的な交渉能力や管理能力などのメタな知識を除いた、いわゆる技術に関しての能力という意味では、高速道路の登場により各個人間での差がどんどん縮まってきているのが今の状況なのです。つまりは、人月計算による計算の方がより妥当であるという見解も、あながち間違いではないという方向に近づいているのかもしれないと見ることもできます(決してそうはあって欲しくないのではありますが)。
さらに過激に、Microsoftはソフトウェア工場を現実化しようとしています。
Software Factory
もちろんこの試みには反論もあって、たとえばGrady Boochみたいな人は、ソフトウェア開発を知的生産だと考えているようです。
Friday, December 3, 2004
Microsoft and Domain Specific Languages
さて、どっちが正しいことを言っているのでしょうね。私は、ソフトウェア開発の大部分は知的生産ではなく、機械で代替しうる肉体労働だと思います。その意味では年をとるほど体力がなくなるので、給与は安くなるべきだし、いずれはプログラマという仕事は人間の仕事ではなくなると思ってます。果たして。
---
それにしてもGrady Boochって人はブログの何たるかをまるで理解していないね。エントリからのリンクの多くは全部総称ページへのものだし、おまけにこの人のブログ、Permalinkがないじゃん。何だこれ。
12/06/2004
12/04/2004
米IBM:全パソコン事業の売却を検討
うーん、そうですか。ThinkPadもですか。最近のThinkPadは良くないしなあ。
かといってDellやHPは買う気にならない。こりゃますますPowerBookへ移行か...。
うーん、そうですか。ThinkPadもですか。最近のThinkPadは良くないしなあ。
かといってDellやHPは買う気にならない。こりゃますますPowerBookへ移行か...。
12/03/2004
11/27/2004
PCMCIAで無線LAN for Linux
emerge wireless-tools
cardctl <-- ない!
kernel 2.6 では pcmcia_csはいらないと思っていたのだけど、cardctlなんかを使いたかったらやっぱりいるらしい。
emerge pcmcia-cs
cardctl ident
うーん、カードは認識してるけど、それが何なのか(無線LANカード)は認識しない。なんでだろう?
っと、ふと思い立ってmake menuconfigしてみたらなんと、pcmciaのHermesを入れてない!なんだよー、PCI/ISAのほうと見間違えてた!
<*>して、再度make && make modules_installして、grub.confを書き換えて、reboot。
認識しない...? あ、/etc/init.d/pcmcia start してなかった。したら。。。認識!
cp /etc/init.d/net.eth0 /etc/init.d/net.eth1
nano -w /etc/conf.d/net <-- eth1 を追加
/etc/init.d/net.eth1 start <-- dhcpでもらえない。これは予想済。
iwconfig -- OK!
iwconfig eth1 essid xxxxxx
iwconfig eth1 key [x] xxxx
iwconfig eth1 key [x] <-- 使うインデックスを指定
/etc/init.d/net.eth1 restart
Yes!
cardctl <-- ない!
kernel 2.6 では pcmcia_csはいらないと思っていたのだけど、cardctlなんかを使いたかったらやっぱりいるらしい。
emerge pcmcia-cs
cardctl ident
うーん、カードは認識してるけど、それが何なのか(無線LANカード)は認識しない。なんでだろう?
っと、ふと思い立ってmake menuconfigしてみたらなんと、pcmciaのHermesを入れてない!なんだよー、PCI/ISAのほうと見間違えてた!
<*>して、再度make && make modules_installして、grub.confを書き換えて、reboot。
認識しない...? あ、/etc/init.d/pcmcia start してなかった。したら。。。認識!
cp /etc/init.d/net.eth0 /etc/init.d/net.eth1
nano -w /etc/conf.d/net <-- eth1 を追加
/etc/init.d/net.eth1 start <-- dhcpでもらえない。これは予想済。
iwconfig -- OK!
iwconfig eth1 essid xxxxxx
iwconfig eth1 key [x] xxxx
iwconfig eth1 key [x] <-- 使うインデックスを指定
/etc/init.d/net.eth1 restart
Yes!
Dell Inspiron 4150, 外部モニタのミラーリング for Xorg
どうやらできたらしい。xorg.confのMergedFBとMetaModes、それにCRT2xxxをまともに設定すればよかったらしい。が、Fn-F8での切り替えはいまだにできない。以下、xorg.confの該当部分。
Option "MergedFB" "on" # []
Option "CRT2HSync" "24.8 - 80" # []
Option "CRT2VRefresh" "56 - 75" # []
Option "CRT2Position" "Clone" # []
Option "MetaModes" "1400x1050-1280x1024 1400x1050-1024x768 1024x768-1024x768"
Option "MergedFB" "on" # [
Option "CRT2HSync" "24.8 - 80" # [
Option "CRT2VRefresh" "56 - 75" # [
Option "CRT2Position" "Clone" # [
Option "MetaModes" "1400x1050-1280x1024 1400x1050-1024x768 1024x768-1024x768"
11/26/2004
11/25/2004
OpenOffice.org 1.1.3 格闘
ここのおかげでようやく一般ユーザーでsetupできた!要は/dev/dri/card0に権限が無かったのが原因らしい。んで、/dev/dri/card0って何?
HDDさようなら
HITACHI/IBMのSATA HDD。StarWars Galaxies日本語ベータ版とともに逝っちゃった。
さて、2日たってみて困ったもの。POP3のメールデータ。IEのお気に入り。IEのURL履歴。
うーむ。これって、Gmail/Hotmail/Yahoo! Mail、はてなアンテナ、???があれば必要ないのか...。じゃあ160GBものHDDはなんのために使っていたのだろうか...。
せっかくなので今度こそ本腰入れて、サブのラップトップでGentoo再挑戦中。So far so good.
プレゼン用のマシンとして利用したいし、僕のプレゼンはコーディングデモ満載だから、Windowsとの微妙な感覚の違いになれないといけないだよ。それと、外部出力。どうしてもこれが解決できない。
さて、2日たってみて困ったもの。POP3のメールデータ。IEのお気に入り。IEのURL履歴。
うーむ。これって、Gmail/Hotmail/Yahoo! Mail、はてなアンテナ、???があれば必要ないのか...。じゃあ160GBものHDDはなんのために使っていたのだろうか...。
せっかくなので今度こそ本腰入れて、サブのラップトップでGentoo再挑戦中。So far so good.
プレゼン用のマシンとして利用したいし、僕のプレゼンはコーディングデモ満載だから、Windowsとの微妙な感覚の違いになれないといけないだよ。それと、外部出力。どうしてもこれが解決できない。
11/16/2004
11/12/2004
梅田さんところ、来週から必見だ
http://blog.japan.cnet.com/umeda/archives/001856.html
>>
さて、来週から、僕は出張やら休暇やらで、しばらく本欄に割く時間が全く作れません。というわけで恒例のゲストブログということになるのですが、今回は特に豪華です。日本の新旧アルファギーク競演企画ということで、20代の若い友人3人と旧友1人に、無理を言ってゲストブログをお願いしました。
<<
高林さん、宮川さん、伊藤さんの3人に吉岡さんだと。こりゃすげー。間違いない。
>>
さて、来週から、僕は出張やら休暇やらで、しばらく本欄に割く時間が全く作れません。というわけで恒例のゲストブログということになるのですが、今回は特に豪華です。日本の新旧アルファギーク競演企画ということで、20代の若い友人3人と旧友1人に、無理を言ってゲストブログをお願いしました。
<<
高林さん、宮川さん、伊藤さんの3人に吉岡さんだと。こりゃすげー。間違いない。
11/10/2004
がんばれ、はてな
はてなの周辺が何かと騒がしいそうで。知らなかった。
よくわかんないから無責任なコメントなんだが、がんばれ、はてな。
外から物知り君たちがしたり顔でコメントするなんて今に始まったことじゃない。
脇が甘いって?そうかもしれんがあんたの会社の脇もじっくり見させてもらうぜ。
大体日本じゃ個人個人の脇が甘すぎるじゃないの。はてなだけは特別かよ。
弁護士さんたちも研究の対象にしているようだが、小難しい用語でごたく並べてないで助ける気があるなら助けてやれよ。ブログなんか書いてる暇があったら規約の草案ぐらい練ってやったらどうだ。どうせ関係ないことなんだろう。
そ、かくいう私も関係ないんである。だから何もしてない。ってかもともとはてなは使ってない。
だけど、やっぱがんばれ、はてな。
よくわかんないから無責任なコメントなんだが、がんばれ、はてな。
外から物知り君たちがしたり顔でコメントするなんて今に始まったことじゃない。
脇が甘いって?そうかもしれんがあんたの会社の脇もじっくり見させてもらうぜ。
大体日本じゃ個人個人の脇が甘すぎるじゃないの。はてなだけは特別かよ。
弁護士さんたちも研究の対象にしているようだが、小難しい用語でごたく並べてないで助ける気があるなら助けてやれよ。ブログなんか書いてる暇があったら規約の草案ぐらい練ってやったらどうだ。どうせ関係ないことなんだろう。
そ、かくいう私も関係ないんである。だから何もしてない。ってかもともとはてなは使ってない。
だけど、やっぱがんばれ、はてな。
Aribaってあったねぇ
Aribaとソフトバンク、提携解消
Ariba、そんな会社ありましたっけねぇ。CommerceOneとか。cXMLとか。あーUBLはCommerceOneのをベースにしてるんでしたっけ。じゃあまだスピリットだけは生きているってか。当初はWebサービス関連の仕様の分野でもがんばっていたAribaでしたけど、やっぱりお高いソフトウェアを販売するっていう業態そのものが終わりかけてるんでしょうかねぇ。
Ariba、そんな会社ありましたっけねぇ。CommerceOneとか。cXMLとか。あーUBLはCommerceOneのをベースにしてるんでしたっけ。じゃあまだスピリットだけは生きているってか。当初はWebサービス関連の仕様の分野でもがんばっていたAribaでしたけど、やっぱりお高いソフトウェアを販売するっていう業態そのものが終わりかけてるんでしょうかねぇ。
11/08/2004
業界標準?を無視?した?エキサイトブログのXML-RPC
業界標準を無視したエキサイトブログのXML-RPC
宮川さんのところから。
うーん、BloggerとかmetaWeblog APIって「業界」「標準」だったのか。。。
業界ってどこのことなんだろ。デスクトップBlogクライアント業界?小さっ!狭っ!
標準っていわれてもなぁ...。デスクトップBlogクライアントってそんなに使われてるのかしらん。あ、RSSリーダーなら使われてるかもしれないけどね。
これは誤解だと常々思っているのですが、XMLのタグ名やら構造そのものを「標準化」することに大したメリットがあるとは思えません。XMLってやわらかい構造であるところがいいわけで、SAXにしろDOMにしろストリーム系APIにしろ、タグ名や構造を事前に知らなくても、それが必ずしも処理不可能にはつながらないという(Visitorとか)ことだったのでは。XMLの構造を決めうちしようなんてのは大きくて小回りの聞かない企業や業界がやって、右手で握手左手で喧嘩という構図を作るためのものであって、「ブログ業界」なんてそういうのと無縁だと思うんだけどなあ。
いつのまにやら世の中WSDLだXSDだJAXBだということになって、XMLを「固め」ようという流れが出てきてるけど、AmazonのWebサービス見てもわかるとおり、タグを事前に固めてしまうのって非現実的なんですね。かといってXSDやWSDLで「拡張可能」な構造を定義するのは、不可能でないとしても余計な手間がかかるだけ。XML 1.0が流れてさえいれば、あるいは必要最小限のDTDやXSDやRNGによる定義があれば、プログラムなんかどうにでも開発できる。
宮川さんのところから。
うーん、BloggerとかmetaWeblog APIって「業界」「標準」だったのか。。。
業界ってどこのことなんだろ。デスクトップBlogクライアント業界?小さっ!狭っ!
標準っていわれてもなぁ...。デスクトップBlogクライアントってそんなに使われてるのかしらん。あ、RSSリーダーなら使われてるかもしれないけどね。
これは誤解だと常々思っているのですが、XMLのタグ名やら構造そのものを「標準化」することに大したメリットがあるとは思えません。XMLってやわらかい構造であるところがいいわけで、SAXにしろDOMにしろストリーム系APIにしろ、タグ名や構造を事前に知らなくても、それが必ずしも処理不可能にはつながらないという(Visitorとか)ことだったのでは。XMLの構造を決めうちしようなんてのは大きくて小回りの聞かない企業や業界がやって、右手で握手左手で喧嘩という構図を作るためのものであって、「ブログ業界」なんてそういうのと無縁だと思うんだけどなあ。
いつのまにやら世の中WSDLだXSDだJAXBだということになって、XMLを「固め」ようという流れが出てきてるけど、AmazonのWebサービス見てもわかるとおり、タグを事前に固めてしまうのって非現実的なんですね。かといってXSDやWSDLで「拡張可能」な構造を定義するのは、不可能でないとしても余計な手間がかかるだけ。XML 1.0が流れてさえいれば、あるいは必要最小限のDTDやXSDやRNGによる定義があれば、プログラムなんかどうにでも開発できる。
11/06/2004
11/02/2004
本日の失敗に学ぶ
DHCPではないネットでは...
nano -w /etc/conf.d/net
iface_eth0="xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.255 netmask 255.255.255.128"
gateway="eth0/xxx.xxx.xxx.254"
nano -w /etc/resolv.conf
nameserver=xxx.xxx.xxx.xxx
nano -w /etc/dnsdomainname
example.org
外部出力の周波数あわせは。。。わからない。
nano -w /etc/conf.d/net
iface_eth0="xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.255 netmask 255.255.255.128"
gateway="eth0/xxx.xxx.xxx.254"
nano -w /etc/resolv.conf
nameserver=xxx.xxx.xxx.xxx
nano -w /etc/dnsdomainname
example.org
外部出力の周波数あわせは。。。わからない。
Linuxで講演...失敗
ここで講演してきたんですが、うー、ネットがDHCPじゃない、外部VGA出力はプロジェクタがうまいこと周波数を合わせてくれない、と2重苦であえなく断念。会場に用意されていたXPでやる羽目に。
DHCPのほうはまあ/etc/conf.d/netをいじればいいのはわかっていたし、最悪オフラインでもデモはできるようにしていたのだが、問題は外部出力。こっちはLinuxだと3度もいっているのに「画面のプロパティを見せていただけませんか?」おい。
そんなことはいいから、プロジェクタのオートアジャストボタンを2度ほど押して来い、とやんわりと4度もお願いしたのだが、まったく反応してもらえず。あげくのはてに3台のプロジェクタを一台ずつ調整を始める。そんなに原始的なものつかってるの?あーあ。
DHCPのほうはまあ/etc/conf.d/netをいじればいいのはわかっていたし、最悪オフラインでもデモはできるようにしていたのだが、問題は外部出力。こっちはLinuxだと3度もいっているのに「画面のプロパティを見せていただけませんか?」おい。
そんなことはいいから、プロジェクタのオートアジャストボタンを2度ほど押して来い、とやんわりと4度もお願いしたのだが、まったく反応してもらえず。あげくのはてに3台のプロジェクタを一台ずつ調整を始める。そんなに原始的なものつかってるの?あーあ。
10/31/2004
Gentoo Linux 2004.2 日本語設定...
こちらを参考に。
nano -w ./.bashrc
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
nano -w ./~.xinitrc
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
kinput2 -canna &
exec "gnome-session"
nano -w /etc/hosts.canna
localhost
unix
nano -w /etc/conf.d/canna
CANNASERVER_OPTS="-inet"
# /sbin/rc-update add canna default
# /etc/init.d/canna start
emerge いろんな日本語フォント
nano -w /etc/X11/xorg.conf
emergeしたぶんだけFontPathを指定
reboot
nano -w ./.bashrc
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
nano -w ./~.xinitrc
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
kinput2 -canna &
exec "gnome-session"
nano -w /etc/hosts.canna
localhost
unix
nano -w /etc/conf.d/canna
CANNASERVER_OPTS="-inet"
# /sbin/rc-update add canna default
# /etc/init.d/canna start
emerge いろんな日本語フォント
nano -w /etc/X11/xorg.conf
emergeしたぶんだけFontPathを指定
reboot
Gentoo Linux 2004.2 日本語設定...(2)
gdmで起動
Languageで日本語選択してログイン
gnome日本語メニュー出る。
日本語入力できず。
nano -w /etc/X11/Sessions/Gnome
後ろのほうに書いてみる
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
kinput2 -canna &
だめでした。
emerge mozilla-firefox
うげーmozilla-firefox-binにするんだった!時間かかりすぎ。。。
こちらを参考にOpenOfficeの日本語版を導入
emerge openoffice-ja-bin
Languageで日本語選択してログイン
gnome日本語メニュー出る。
日本語入力できず。
nano -w /etc/X11/Sessions/Gnome
後ろのほうに書いてみる
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
kinput2 -canna &
だめでした。
emerge mozilla-firefox
うげーmozilla-firefox-binにするんだった!時間かかりすぎ。。。
こちらを参考にOpenOfficeの日本語版を導入
emerge openoffice-ja-bin
Gentoo Linux 2004.2 Gnome...(2)
朝起きたら無事終わってた。
etc-update -5
env-update
source /etc/profile
/etc/init.d/famd start
rc-update add famd default
exit
一般ユーザーでログイン
echo "exec gnome-session" > ~/.xinitrc
startx
きたー
いったん出て、
su
rc-update add xdm default
/etc/rc.conf
DISPLAYMANAGER="gdm"
XSESSION="Gnome"
etc-update -5
env-update
source /etc/profile
/etc/init.d/famd start
rc-update add famd default
exit
一般ユーザーでログイン
echo "exec gnome-session" > ~/.xinitrc
startx
きたー
いったん出て、
su
rc-update add xdm default
/etc/rc.conf
DISPLAYMANAGER="gdm"
XSESSION="Gnome"
10/30/2004
Gentoo Linux 2004.2 Gnome...
まあMonoが目的だからgnome入れることにしよう。
gnomeは寝る前に入れるので、先に
emerge alsa-utils
/etc/modules.d/alsa
alias snd-card-0 snd-intel8x0
modules-update
rc-update add alsasound boot
/etc/init.d/alsasound start
amixer set Master 100 unmute
amixer set PCM 100 unmute
wget http://Windowsマシン/startup.wav
aplay startup.wav
鳴った。
grub.conf に apm=on acpi=offを追加
apm -s
成功。
emerge gnome 開始!(21:22)
...3時間後
うぇー、エラーだって。
ACCEPT_KEYWORDS="~x86" emerge gnome xscreensaver 開始!(0:25)
gnomeは寝る前に入れるので、先に
emerge alsa-utils
/etc/modules.d/alsa
alias snd-card-0 snd-intel8x0
modules-update
rc-update add alsasound boot
/etc/init.d/alsasound start
amixer set Master 100 unmute
amixer set PCM 100 unmute
wget http://Windowsマシン/startup.wav
aplay startup.wav
鳴った。
grub.conf に apm=on acpi=offを追加
apm -s
成功。
emerge gnome 開始!(21:22)
...3時間後
うぇー、エラーだって。
ACCEPT_KEYWORDS="~x86" emerge gnome xscreensaver 開始!(0:25)
Gentoo Linux 2004.2 Xorg...
emerge xorg-x11は70分で完了
env-update
source /etc/profile
Xorg -configure
X -config /root/xorg.conf.new
画面真っ暗。
うむーどうやらKernel Configurationが足りないようだ。
emerge -C xorg-x11 (きれい好きなもんで)
cd /usr/src/linux
make menuconfig
Character Device 云々のAGPのとこのATI Radeonを選択する(Mobility Radeon 7500なんで)
make && make modules_install
サクッと終わった。
cpしてgrub.confを書いてreboot
emerge xorg-x11
env-update
source /etc/profile
Xorg -configure
opengl-update xorg-x11
cp xorg.conf.new /etc/X11/xorg.conf
startx
やっほー起動したようだ。
CTRL+ALT+BS
gnome....
env-update
source /etc/profile
Xorg -configure
X -config /root/xorg.conf.new
画面真っ暗。
うむーどうやらKernel Configurationが足りないようだ。
emerge -C xorg-x11 (きれい好きなもんで)
cd /usr/src/linux
make menuconfig
Character Device 云々のAGPのとこのATI Radeonを選択する(Mobility Radeon 7500なんで)
make && make modules_install
サクッと終わった。
cpしてgrub.confを書いてreboot
emerge xorg-x11
env-update
source /etc/profile
Xorg -configure
opengl-update xorg-x11
cp xorg.conf.new /etc/X11/xorg.conf
startx
やっほー起動したようだ。
CTRL+ALT+BS
gnome....
Gentoo Linux 2004.2 アプリインスコ開始
ログイン
useradd
passwd
emerge sync
rsync.jpが動かない。/etc/make.confのSYNC=をコメントアウト
ついでにUSE=にいろいろ追加
emerge sync
etc-update -5
emerge xorg-x11
さてどれくらいかかるのかな
useradd
passwd
emerge sync
rsync.jpが動かない。/etc/make.confのSYNC=をコメントアウト
ついでにUSE=にいろいろ追加
emerge sync
etc-update -5
emerge xorg-x11
さてどれくらいかかるのかな
Gentoo Linux 2004.2 インスコ終盤...
ビルドは20分で完了
cp arch/i386/boot/bzImage /boot/kernel-2.6.9-gentoo-r1
cp System.map /boot/System.map-2.6.9-gentoo-r1
cp .config /boot/config-2.6.9-gentoo-r1
emerge hotplug
モジュールはとりあえずいらないのでmodules-updateはパス
nano -w /etc/fstab
/dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
echo gentoo1 > /etc/hostname
echo homenet > /etc/dnsdomainname
rc-update add domainname default
nano -w /etc/conf.d/net
iface_eth0="dhcp"
rc-update add net.eth0 default
nano -w /etc/hosts
passwd
nano -w /etc/rc.conf
KEYMAP="jp106"
CLOCK="local"
emerge syslog-ng && rc-update add syslog-ng default
emerge vixie-cron && rc-update add vixie-cron default
emerge dhcpcd
emerge grub
nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.9-gentoo-r1
root (hd0,0)
kernel /kernel-2.6.9-gentoo-r1 root=/dev/hda3
cp /proc/mounts /etc/mtab
grub-install --root-directory=/boot /dev/hda
exit
cd
umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
reboot
cp arch/i386/boot/bzImage /boot/kernel-2.6.9-gentoo-r1
cp System.map /boot/System.map-2.6.9-gentoo-r1
cp .config /boot/config-2.6.9-gentoo-r1
emerge hotplug
モジュールはとりあえずいらないのでmodules-updateはパス
nano -w /etc/fstab
/dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
echo gentoo1 > /etc/hostname
echo homenet > /etc/dnsdomainname
rc-update add domainname default
nano -w /etc/conf.d/net
iface_eth0="dhcp"
rc-update add net.eth0 default
nano -w /etc/hosts
passwd
nano -w /etc/rc.conf
KEYMAP="jp106"
CLOCK="local"
emerge syslog-ng && rc-update add syslog-ng default
emerge vixie-cron && rc-update add vixie-cron default
emerge dhcpcd
emerge grub
nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.6.9-gentoo-r1
root (hd0,0)
kernel /kernel-2.6.9-gentoo-r1 root=/dev/hda3
cp /proc/mounts /etc/mtab
grub-install --root-directory=/boot /dev/hda
exit
cd
umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
reboot
Gentoo Linux 2004.2 インスコさらに続く。。。
80分ほどでemerge system完了
emerge udev
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
dateがずれる
date MMddhhmmYYYY
emerge gentoo-dev-sources
6分で完了
cd /usr/src/linux
lsmod
ipv6, ohci_hcd, yenta_socket, pcmcia_core, uhci_hcd, joydev, evdev, tsdev, snd_intel8x0, snd_ac97_codec, snd_pcm, snd_timer, snd_page_alloc, gameport, snd_mpu401_uart, smd_rawmidi, snd_seq_device, snd, soundcore, intel_agp, agpgart, 3c59x, parport_pc, parport, rtc, sbp2, ohci1394, ieee1394, usb_storage, ehci_uhd
make menuconfig
設定いろいろ。正直よくわからん。適当に入れてみる。
make && make modules_install
emerge udev
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
dateがずれる
date MMddhhmmYYYY
emerge gentoo-dev-sources
6分で完了
cd /usr/src/linux
lsmod
ipv6, ohci_hcd, yenta_socket, pcmcia_core, uhci_hcd, joydev, evdev, tsdev, snd_intel8x0, snd_ac97_codec, snd_pcm, snd_timer, snd_page_alloc, gameport, snd_mpu401_uart, smd_rawmidi, snd_seq_device, snd, soundcore, intel_agp, agpgart, 3c59x, parport_pc, parport, rtc, sbp2, ohci1394, ieee1394, usb_storage, ehci_uhd
make menuconfig
設定いろいろ。正直よくわからん。適当に入れてみる。
make && make modules_install
SOAに関する大いなる誤解、オマエモナー
2人のIBMエバンジェリストと最新の技術動向
「SOAを実現するにあたって、Webサービスとしてアプリケーションを作り込んではなりません。サービスとしてアプリケーションを作ってください」
はい?サービスはアプリケーションと同義で、Webサービスは技術の名前でしょ?だって自分でこういってるじゃない。
「米持氏は、Webサービス=SOAという誤解が存在すると指摘する。WebサービスはHTTP、XML、SOAP、WSDLといったWeb技術を使ってSOAを具現化する技術であって、」
だからサービスを作ることとWebサービスを利用して作ることとを両立させて問題ないでしょ?まあいいやどうでも。
ところで、
IBMの考え:「Webサービス=SOAP=HTTP+XML=遅い」ので、適材適所が望ましい。Webサービスで重要なのはWSDL。SOAPじゃない別のバインディングを積極的に使いましょう。JMSとか。
MSの考え:「Webサービス=SOAP=XML」。メッセージ定義にXMLを使うのはすでに抗いがたい業界標準。ただし、転送プロトコルがHTTPである必要はない。HTTPバインディングがいやなら別のものを使えばよい。Webサービスで重要なのはSOAP。on the wireに真実があり、WSDLは真実の見方の一側面に過ぎない。
結局同じこといってるのね。
ただ、ここにきてMSとIBMの違いは鮮明になってきた。
IBMはやはりソリューション志向で、大規模案件を受注し、大規模ソフトウェアを投入し、大規模にお金をいただく会社であるため、本当に手離れのいいソフトウェアを作るための技術としてのXMLは推進しない。
MSはツールベンダーであり、すでに大規模ユーザーは抑えているので、ここしばらくのフォーカスはいかに中小の「フリー」ソフトで開発せざるを得ないところに食い込むか、という視点。ツールは売りっぱなしでなければならないので、そのツールで構成されるシステムはいつでも他のツールを受け入れられるようにしておく必要がある。ここにXMLを利用する動機がある。
で、日本ではここでおしまいだけど、世の中的には第三極があって、それらがまたかき回しに入る。Amazon、Google、eBay。IBMもMSも関係ない、自社で開発者を抱え続ける体力を持ち、ビジネスの推進力としてのみXMLを利用する。XML/HTTP/SOAP/WSDL+現状すでにある開発環境で十分。WS-*とかどうせ使ってくれる開発者がいないから興味もない。
「SOAを実現するにあたって、Webサービスとしてアプリケーションを作り込んではなりません。サービスとしてアプリケーションを作ってください」
はい?サービスはアプリケーションと同義で、Webサービスは技術の名前でしょ?だって自分でこういってるじゃない。
「米持氏は、Webサービス=SOAという誤解が存在すると指摘する。WebサービスはHTTP、XML、SOAP、WSDLといったWeb技術を使ってSOAを具現化する技術であって、」
だからサービスを作ることとWebサービスを利用して作ることとを両立させて問題ないでしょ?まあいいやどうでも。
ところで、
IBMの考え:「Webサービス=SOAP=HTTP+XML=遅い」ので、適材適所が望ましい。Webサービスで重要なのはWSDL。SOAPじゃない別のバインディングを積極的に使いましょう。JMSとか。
MSの考え:「Webサービス=SOAP=XML」。メッセージ定義にXMLを使うのはすでに抗いがたい業界標準。ただし、転送プロトコルがHTTPである必要はない。HTTPバインディングがいやなら別のものを使えばよい。Webサービスで重要なのはSOAP。on the wireに真実があり、WSDLは真実の見方の一側面に過ぎない。
結局同じこといってるのね。
ただ、ここにきてMSとIBMの違いは鮮明になってきた。
IBMはやはりソリューション志向で、大規模案件を受注し、大規模ソフトウェアを投入し、大規模にお金をいただく会社であるため、本当に手離れのいいソフトウェアを作るための技術としてのXMLは推進しない。
MSはツールベンダーであり、すでに大規模ユーザーは抑えているので、ここしばらくのフォーカスはいかに中小の「フリー」ソフトで開発せざるを得ないところに食い込むか、という視点。ツールは売りっぱなしでなければならないので、そのツールで構成されるシステムはいつでも他のツールを受け入れられるようにしておく必要がある。ここにXMLを利用する動機がある。
で、日本ではここでおしまいだけど、世の中的には第三極があって、それらがまたかき回しに入る。Amazon、Google、eBay。IBMもMSも関係ない、自社で開発者を抱え続ける体力を持ち、ビジネスの推進力としてのみXMLを利用する。XML/HTTP/SOAP/WSDL+現状すでにある開発環境で十分。WS-*とかどうせ使ってくれる開発者がいないから興味もない。
Gentoo Linux 2004.2 インスコ続行中
ブートストラップ完了
/lib/libc.so.6
NPTLが入ってる
source /etc/profile
emerge system
またお預け。。。
/lib/libc.so.6
NPTLが入ってる
source /etc/profile
emerge system
またお預け。。。
Gentoo Linux 2004.2 インスコ第一次失敗
cd /usr/portage
scripts/bootstrap.sh
ヘッダーが違うとか言うので失敗
ここを参考に
nano -w /etc/portage/package.keywords
sys-kernel/linux26-headers -* ~x86
sys-kernel/gentoo-dev-sources -* ~x86
emerge patch
emerge -C linux-headers
emerge --oneshot linux26-headers
nano -w /etc/make.profile/virtuals
virtual/kernel sys-kernel/linux26-headers
virtual/os-headers sys-kernel/linux26-headers
再びscripts/bootstrap.sh
さーてどうなることやら。。。
scripts/bootstrap.sh
ヘッダーが違うとか言うので失敗
ここを参考に
nano -w /etc/portage/package.keywords
sys-kernel/linux26-headers -* ~x86
sys-kernel/gentoo-dev-sources -* ~x86
emerge patch
emerge -C linux-headers
emerge --oneshot linux26-headers
nano -w /etc/make.profile/virtuals
virtual/kernel sys-kernel/linux26-headers
virtual/os-headers sys-kernel/linux26-headers
再びscripts/bootstrap.sh
さーてどうなることやら。。。
10/29/2004
Gentoo Linux 2004.2 インスコ開始
当然こちらを参考に、Dell Inspiron 4150にインスコ開始。
boot: smp dokeymap
keymap:22
Automatic network configuration worked.
fdisk /dev/hda
n p 1 [enter] +32M
a 1
n p 2 [enter] +1024M
t 2 82
n p 3 [enter] [enter]
p
w
q
mke2fs /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2
swapon /dev/hda2
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
date
cd /mnt/gentoo
links2 http://mirror.gentoo.gr.jp/
[stage1-x86]を選択
d
OK
tar -xjpf stage1-*.bz2
nano -w /mnt/gentoo/etc/make.conf
CHOST=i686-pc-linux-gnu
CFLAGS= + -pipe
USE="nptl"
GENTOO_MIRRORS="http://mirror.gentoo.gr.jp/ http://gentoo.oregonstate.edu/ http://gentoo.gnukorea.org/"
MAKEOPTS="-j2"
CTRL-X Y [enter]
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc none /mnt/gentoo/proc
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
emerge sync
30分...
boot: smp dokeymap
keymap:22
Automatic network configuration worked.
fdisk /dev/hda
n p 1 [enter] +32M
a 1
n p 2 [enter] +1024M
t 2 82
n p 3 [enter] [enter]
p
w
q
mke2fs /dev/hda1
mke2fs -j /dev/hda3
mkswap /dev/hda2
swapon /dev/hda2
mount /dev/hda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
date
cd /mnt/gentoo
links2 http://mirror.gentoo.gr.jp/
[stage1-x86]を選択
d
OK
tar -xjpf stage1-*.bz2
nano -w /mnt/gentoo/etc/make.conf
CHOST=i686-pc-linux-gnu
CFLAGS= + -pipe
USE="nptl"
GENTOO_MIRRORS="http://mirror.gentoo.gr.jp/ http://gentoo.oregonstate.edu/ http://gentoo.gnukorea.org/"
MAKEOPTS="-j2"
CTRL-X Y [enter]
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc none /mnt/gentoo/proc
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
emerge sync
30分...
10/25/2004
"Cherry" OS mature enough?
Cherry OS のリリース日発表
周期的にPowerBookほしい病の発作が出るのですが、考えてみたら僕がほしいのはPowerBookではなくMac OSなのだ、ということにこのニュースで気づきました。ほんとに動くんだろうな、え?
周期的にPowerBookほしい病の発作が出るのですが、考えてみたら僕がほしいのはPowerBookではなくMac OSなのだ、ということにこのニュースで気づきました。ほんとに動くんだろうな、え?
10/05/2004
中の人のキモチ
それにしても若いうちから金儲け、もといビジネス志向の人がこんなに増えているのはなぜだろう?そんなに金がほしいのか?そんなに若いうちからそんなに金がほしいのか?その金で何を買うんだ?考えてみろって。せっせと比較分析している対象は単に金だけを目当てに今の仕事を立ち上げたのかい?みんな違うじゃない。金が第一の目的なんて人間に人が集まってくるわけがない。見てみろあいつ、今日もテレビで醜い顔してさらしてるぜ。あんなひどい顔で他人を小ばかにする人間になりたいのかい?
9/28/2004
プロとして食っていくのが難しい時代
梅田望夫「アマチュア革命がもたらす世界」
「
ただこうした凡庸なサバイバル戦略を多くの人が取るようになれば、ますますプロアマの供給過剰を生み、そのプロアマは専門家の世界における「報酬を求めない新規参入者」という厄介な存在となる。
ただまぁいずれにせよ、「知的で面白いことをできる限り一生やり続けて、しかもちゃんと飯を食っていく」というプロフェッショナル的人生を志向する人は、カネについて若いときから真剣な戦略を描くことが、昔以上に重要になってきたということである。
」
梅田さん。いつもながらこちらの考えの少し先を行っていてすばらしい。さらに言うなら、ある意味無責任なプロアマときっちり責任を取るつもりのプロとを見分けてうまく利用できないと、痛い目にあうだろうなぁ。無責任なプロアマが増殖して、しかもそれらが「コミュニティ」とかいってある種の企業性まで持ち始めている。しかしどこまでいっても無責任であることに代わりはなし。そこにも利用価値はあるし楽しみだってあるが、プロの仕事と無責任コミュニティとを混同してはいけないのだ。これは自戒でもある。プロとしても、コミュニティの一員としても。
「
ただこうした凡庸なサバイバル戦略を多くの人が取るようになれば、ますますプロアマの供給過剰を生み、そのプロアマは専門家の世界における「報酬を求めない新規参入者」という厄介な存在となる。
ただまぁいずれにせよ、「知的で面白いことをできる限り一生やり続けて、しかもちゃんと飯を食っていく」というプロフェッショナル的人生を志向する人は、カネについて若いときから真剣な戦略を描くことが、昔以上に重要になってきたということである。
」
梅田さん。いつもながらこちらの考えの少し先を行っていてすばらしい。さらに言うなら、ある意味無責任なプロアマときっちり責任を取るつもりのプロとを見分けてうまく利用できないと、痛い目にあうだろうなぁ。無責任なプロアマが増殖して、しかもそれらが「コミュニティ」とかいってある種の企業性まで持ち始めている。しかしどこまでいっても無責任であることに代わりはなし。そこにも利用価値はあるし楽しみだってあるが、プロの仕事と無責任コミュニティとを混同してはいけないのだ。これは自戒でもある。プロとしても、コミュニティの一員としても。
9/17/2004
A9.com + Amazon.com = $-3.14/2%
A9.comに行く。
Sign inして履歴などの機能を利用できるようにする。
できればツールバーもダウンロードする。
A9.comで検索などして楽しむ。
Amazon.comに行く。すでにサインインしている。
画面上部のロゴを見る。何かが起きている。
マウスポインタをあてる。何かが起きる。
クリックする。何が起きたかがわかる。
Enjoy shopping!
Sign inして履歴などの機能を利用できるようにする。
できればツールバーもダウンロードする。
A9.comで検索などして楽しむ。
Amazon.comに行く。すでにサインインしている。
画面上部のロゴを見る。何かが起きている。
マウスポインタをあてる。何かが起きる。
クリックする。何が起きたかがわかる。
Enjoy shopping!
9/04/2004
9/02/2004
9/01/2004
登録:
投稿 (Atom)