月別アーカイブ: 2006年3月

金子勇「Winnyの技術」

Winnyの技術

Winnyの技術

昨今話題になっているWinnyが、どういったTechnologyの上に成り立っているのかということが知りたかったのと、最近ネットワーク全般に興味があるので本書を購入してみた(しかし世間一般ではすっかりWinny=ウイルスだな)。

Winnyに関する知識はほぼ0であったが、結果としてP2Pの発展の歴史、Winnyネットワークの仕組み、開発・改善の経緯が読後に把握できた。非常にわかり易く書かれているので、そこからも著者の金子さんのスマートさが伺える。理論と実践から得た情報を元に、Winnyを改善していく著者の様は素晴らしいと思った。「Winnyネットワークは生物のようだ」と著者自らコメントしていたが、実際動物学者のようにWinnyネットワークを観察していたのではないか。

勉強になった一冊。

FileStreamって何だろう

http://d.hatena.ne.jp/rintaromasuda/20060327/1143412352

で作成したプログラムだが、.exeも.xlsでもなんでも送れることが確認できた。FileStreamというのは一体どういう仕組みなのか、勉強しようと思う。非常に便利だ。便利すぎて馬鹿になりそうだから勉強しよう。

まあファイルをバイト列に分解しているということのはずだが。。

岡嶋裕史「郵便と糸電話でわかるインターネットの仕組み」

郵便と糸電話でわかるインターネットのしくみ (集英社新書)

郵便と糸電話でわかるインターネットのしくみ (集英社新書)

Danさんのエントリを読んで購入した。

とにかく分かり易い。的確な比喩が面白い。ネットワークに少し関わったことのある人間なら「あれって何に使うの?」と疑問に持つ内容を的確に選び、解説している。「TCP/IPってどういうこと?」くらいの人間(僕含む)が読むのに最適な一冊であると思う。とりあえずこの本で、ネットワークの仕組みを人に説明できるようになったと思う。

しかしやっぱり新書は読み易い。あと気がついたんだけど、やっぱり縦書きの方が頭にすらすら入ってくる気がする。僕の目は縦に動くときの方がスムーズなのだろう、きっと。

Vistaの開発に苦しむMicrosoft

MicrosoftがWindows Vistaの発売延期を発表したことに対する反応が各所で見られる。過去のWindowsとの下位互換開発にこだわるが故に開発に苦しむMicrosoftと、思い切ってOS Xを過去のバージョンと決別させたAppleとを比較した内容が多いようだ。

The New York Times「Windows Is So Slow, but Why?

Windows runs on 330 million personal computers worldwide. Three hundred PC manufacturers around the world install Windows on their machines; thousands of devices like printers, scanners and music players plug into Windows computers; and tens of thousands of third-party software applications run on Windows. And a crucial reason Microsoft holds more than 90 percent of the PC operating system market is that the company strains to make sure software and hardware that ran on previous versions of Windows will also work on the new one — compatibility, in computing terms.

Windowsのユーザ数や関連しているハードウェアメーカーの数を考えると、互換性を保つというのは、新しい機能をOSに搭載することの何倍も労力のかかることであろう。この辺は自分も経験しているから分かる。おそらくVistaの開発にかけている時間のほとんどが、下位互換を保つ為の諸作業に費やされているはずである。しかもこういった仕事は、手間ばかりかかって「前進」を感じにくい仕事である為、僕なんかはMicrosoftのエンジニアのモチベーションが心配になってしまう。とにかく下位互換はGateのポリシーらしく、CNETの記事を読むと

CNET「相次ぐ製品開発の遅れで、マイクロソフトの頭上にたちこめる暗雲」

また同社は、すでに出回っている無数のWindowsマシンをすべてサポートしようとしていることから、そのための課題にも直面している。同社は、最新かつ最も素晴らしいOS上でさえ、最も古いアプリケーションが動くところを誇らしげに披露することも珍しくはない。

 「われわれは、古いアプリケーションとの互換性を非常に大事にしている」と、Gates氏は先週行われたOffice開発者向けのカンファレンスで述べていた。

というコメントを残しているので、この方向性がしばらく変わることはないだろう。

会社の規模が大きくなってくると、そしてユーザが多くなってくると、新しいバージョンの開発と言えど、下位互換にまつわる作業がその中心となってきてしまう。このことは「開発者として、どんな企業に身を置くべきか」ということを考える上での、一つの重要な視点足り得る。

ソケット通信でファイル転送その2

簡単なファイル転送プログラムを作ってみた。

サーバ側のソースは以下。ソケットから受けとったバイト配列を、引数で指定したファイルのストリームに書き込んでいるだけ。特に理由はないが、32バイトずつその作業を行っている。

import java.net.*;
import java.io.*;
public class FileTranServer {
public static void main(String[] args) throws IOException{
if (args.length != 2)
throw new IllegalArgumentException("An argument should be port and filename");
int servPort = Integer.parseInt(args[0]);
String filename = args[1];
System.out.println("Output file name : " + args[1]);
//Create FileOutputStream
FileOutputStream fout = new FileOutputStream(filename);
//Create ServerSocket
ServerSocket servSock = new ServerSocket(servPort);
int recvMsgSize;
//int bufSize = servSock.getReceiveBufferSize();
int bufSize = 32;
System.out.println("Size of ReceiveBuffer : " + bufSize);
//Socket accepting loop
while(true){
System.out.println("Wait for accepting... ");
Socket clntSock = servSock.accept();
byte[] byteBuffer = new byte[bufSize];
System.out.println("Accepted client at " +
clntSock.getInetAddress().getHostAddress() +
" on port " +
clntSock.getPort());
//Create InputStream
InputStream in = clntSock.getInputStream();
//Read message and print it out
int totalByte = 0;
while((recvMsgSize = in.read(byteBuffer)) != -1){
System.out.println("Message : " + new String(byteBuffer,0,recvMsgSize));
System.out.println("Size    : " + recvMsgSize);
//Write to file
totalByte = totalByte + recvMsgSize;
fout.write(byteBuffer,0,recvMsgSize);
}
System.out.println("Recieved file size : " + totalByte);
clntSock.close();
fout.close();
fout = null;
}
}
}

次はクライアント側。これも引数で指定したファイルのストリームから、32バイトずつソケットのバイト配列に書き込むだけ。

import java.net.*;
import java.io.*;
public class FileTranClient {
public static void main(String[] args) throws IOException{
if (args.length != 3)
throw new IllegalArgumentException("Arguments should be host,port and filepath");
String server = args[0];
int serverPort = Integer.parseInt(args[1]);
String filename = args[2];
byte[] data = new byte[32];
//ソケットの作成
Socket socket = new Socket(server,serverPort);
System.out.println("Connected to server");
//ストリームの作成
FileInputStream fin = new FileInputStream(filename);
OutputStream out = socket.getOutputStream();
//ファイルの内容を読み出し、送信する
System.out.println("Sending file : " + filename);
int totalSize = 0;
int len = 0;
while ((len = fin.read(data)) != -1) {
totalSize = totalSize + len;
System.out.println(new String(data,0,len));
out.write(data, 0, len);
}
fin.close();
fin = null;
System.out.println("size of file : " + totalSize);
socket.close();
}
}

32バイトずつでも、250KBくらいだったらあっという間に送信できる。まあ同じPC内だから当たり前なのだろうか。別のPCと接続してやってみる必要あり。

同じ名前のレストラン

自分と同じ名前ということで、前から気になっていた銀座の「lintaro」に奥さんと二人で行ってきた。

http://www.lintaro.com/

中堅どころのコースを頼んでみたが、非常に美味しかった。店の雰囲気は洞窟の中のようだが、とても上品な造り。ちょっと秘密のお店って雰囲気かな。またいつか行ってみたいと思う。昭和22年の創業だそうだ。

あとついでだが、昼間に「銀座クレムリ」にも行ってきた。ここもちょっと前から気になっていたお店である。

http://www.zenraku.com/cremerie/

結論から言うと、ここの「ミルクソフトクリーム」は牛乳好きなら一度は食べてみた方が良いだろう。牛乳を食べてる気分になれる味。美味しかった。

SNSが採用活動に与える影響

http://d.hatena.ne.jp/umedamochio/20060324
http://blog.livedoor.jp/dankogai/archives/50428609.html

id:umedamochioさんとDanさんのところで簡単な議論が交わされているが、Danさんが論じたような世界は、やはりまだ「ちょっと遠い所」的な感覚を持ってしまう。ネットリテラシーが低いのかなぁ。

それよりも

そういう状況になってはじめて、社会全体に及ぼすインパクトが大きくなる。

「そのインパクトって何なのだろう」ということを考えるのが面白い、というのが僕の関心領域である。

と梅田さんが関心を持つ領域だが、僕の身近では採用活動にSNSを始めとするWebの世界が与える影響を大きく感じる。
僕の企業がやっている採用活動は、日本の大学生の中ではかなりの知名度があり、それの運営にメインで関わっていたことがある。さらには採用後の社員の教育を担当することもあったのだが、どいつもこいつも会社のことをよく知ってると驚く。こんなこと、一昔前で言えば「OB訪問」という形でうわべだけの情報を得ていた人からしたら信じられないことだろう。自社の名前を様々な場所で検索してみれば、いたるところで情報が共有されているのが分かる。ああ恐ろしい。今どき希望の企業をググらない学生がいる訳ないし、情報はほぼ筒抜けだ。
企業の規模や知名度、およびブランドに学生が踊らされていた時代は終わりを迎え、ネット上で手に入れる新鮮な情報を元に学生が進路を決める時代が来ている。そういう意味で、情報を発信している社員の満足度が、その会社の人材市場においての価値を左右するようになっている訳で、ただ有名企業だからってだけで人を集め、釣った魚に餌をやらないできたような企業が、採用市場において株価が暴落するといったことが起こってくるだろう。

追記:

またトラックバック二重送信になってしまった。失礼。

追記2:

CNETで「ネット時代のキャリアと人脈とは?–SNSとブログの活用方法を探る」という記事を見つけた。

http://japan.cnet.com/news/media/story/0,2000047715,20099281,00.htm

採用、キャリアプランなどの著書で有名な梅森浩一さんの基調講演があったようだ。

梅森氏は「長く続く人脈は、相手が自分をどのように評価するかによって決まります。大切なのは、自分が何を持っていて何を提供できるのかをアピールすること。人間関係の基本は、ギブアンドテイク。利害関係の一致が人脈構築にとって一番大切なことなのです」と説明する。つまりは、自分はがんばっているとアピールしていても、他人にとって利益が得られないものは評価につながらないという訳である。

ネットの世界には、何の見返りも求めずに情報をギブし続けてる人が五万といる。というかそれがネットの本質だと思う。梅森さんはやはり、自分の領域としているリアルな世界での考え方でネットを捉えているようだ。ネットの人脈をリアルに繋げていく必要なんて本当にあるのだろうか。

iPodとFrench

本日読んだ記事は以下。

http://news.com.com/2100-1025_3-6052754.html

A proposed French law that would force Apple Computer to make the songs it sells through its iTunes music store playable on devices that compete with its own iPod amounts to “state-sponsored piracy,” Apple said Wednesday.

France’s lower house of parliament passed a law Tuesday that would require digital content providers to share details of their rights management technologies with rivals. iTunes songs are protected by Apple’s FairPlay technology and are incompatible with most non-iPod players. The bill, designed to prevent any single music-playing technology–and hence, any one media seller or device maker–from dominating the online market, now moves to France’s senate.

フランスでiPod潰しと言われても仕方のないような法案が下院を通過したらしい。どうやら競合に保護技術の仕様を公開を義務付ける、そんな内容のようだ。はっきり言って無茶苦茶で、Apple側は「国家ぐるみの著作権侵害」との声明を発表。
昔Windowsのときも似たようなことありましたが、ヨーロッパのある地域における自国意識の高さというか、反米感情の凄さというのはかなりのものがあるように思う。この辺は日本は「少しくらい学んだほうがいい」態度かな。だけどWindowsは仕方なく使っている人が大半として、デジタルミュージックプレイヤーは選択の余地も広いし、使っている人は使いたくてiPod使ってると思うけどな。iPodだったら、美意識の高いヨーロッパの人たちにも受け入れられるだろうし。

Apple could choose to withdraw iTunes from the French market rather than change its business, Piper Jaffray senior analyst Gene Munster speculated in a research note on Tuesday.

「Appleはこんなこと受け入れるくらいだったら、フランス市場から出て行くだろう」という予測を発表するアナリストもいるようだ。どうだろう。フランスの市場がどのくらいの規模なのか分かりませんが、フランス人にとって特にならない展開だと思うけどなぁ。

自民党が永田議員への情報仲介者の証人喚問を要求

自民党が証人喚問を要求しているらしいけど、仲介者がもしマスメディア上に現れたら、世間の関心は永田議員及び民主党からそっちに移ってしまうだろうし、証人喚問はやらないほうがいいと思うのだが。ポーズだけは見せておいて実際はやらない方向に持っていく、というのがベストかも。実際そんな戦略なのかも。
逆に民主党は、何が何でも仲介者を引っ張り出すべき。

Jeffrey S. Young, William L. Simon「iCon」

iCon Steve Jobs: The Greatest Second Act in the History of Business

iCon Steve Jobs: The Greatest Second Act in the History of Business

去年の9月にL.Aを訪れた際に購入したので、読了まで半年もかかった計算になる。まあまるで読んでなかった時期もあったし、その間に他の本も読んでいたので一概には言えないが、やはり洋書は読むのに時間がかかる。しかも読んでる最中に翻訳版(スティーブ・ジョブズ-偶像復活)が出版され、そっちを読もうかという誘惑とも闘いながらの読書だった。

全体的な感想から言うと、思ったよりも人間スティーブ・ジョブスを描くというところに照準が絞られていると思った。特に若くして富と名誉を手にした彼が、紆余曲折を経て現在、どのような人間に成長していったのか、について著者は拘りを持って書いていたように推察する。途中に出てくるDisneyとのいざこざあたりに多少冗長さを感じたが、スティーブ・ジョブスには強い興味を持っていたので、面白く読めた。

“In most people’s vocabularies,’design’ means venner. It is interior decorating. It’s the fabric of the curtains and the sofa. But to me, nothing could be further from the meaning of design. Design is the fundamental soul of a man-made creation that ends up expressing itself in successive outer layers of the product or service.”

“Design is a funny word. Some people think design means how it looks. But, of course, if you dig deeper, it’s really how it works. To design something really well, you have to ‘get it.’ You have to really grok what it’s all about.”

デザインとは何か。これを問う上で彼の意見は避けて通れないだろう。これらのコメントは期待通りというか、非常にジョブスらしい、そしてアップルらしいものである。ちなみにこの部分とほぼ同様のコメントが、PRESIDENT Onlineの「スティーブ・ジョブズが働く理由」という記事の中にもあった。
とは言ってもiPodやiMacのデザイナーであるJonathan Iveという人には興味を持った。今度調べてみることにする。

An all-out program to create a new low-end consumer Mac was another effort Steve also took credit for, explaining that “we have a lot of customers, and we have a lot of research into our installed base. We also watch industry trends pretty carefully. But in the end, for something this complicated, it’s really hard to design products by focus groups. A lot of times, people don’t know what they want until you show it to them.”

結局我々消費者の想像力を超えた商品やサービスを創っている側の人間にとって、市場の動向や消費者の意見や、今までの商品から得た経験は「付随的な情報」にしか過ぎず、究極的には直感(論理的に答えを導き出せないから)、それを信じて開発を行っていく、そういうことになるだろう。そしてAppleが持つ強みというのはこの優れた直感と、それを具現化するテクノロジーとビジネスセンスいうことになるのではないか。

現在は過去に類を見ないほどの好調さを見せているAppleであるが、今後どういった製品で我々を驚かしてくれるのか、楽しみでしょうがない。Disneyと合併したPixerのアニメ開発チームにも同じ期待をしている。