ウェブブラウザの定義は?

ウェブブラウザの定義って何だろ。

もともとはHTMLというドキュメントフォーマットのビューアにHTTPプロトコルをサポートするファイルダウンロードツールを組み合わせたものだったと思う。その時点での特徴としては:

  • ダウンロード元を指定する仕組み(ナビゲーション)がビューア内のUIだけでなく、ドキュメント内にもあるということ。
    まぁ、そもそもそれがそれがハーバーテキストの定義なんだろうけど。
  • HTMLが他のメディアを内包して表示できるドキュメントフォーマットであるということ。

だったんじゃないかな。

でも、ここで終わってたら単なるハイパードキュメントビューアでしかなかった。それがアプリケーションプラットフォームにまで躍進した理由は:

  • JavaScript実行エンジンが追加され、HTML内にJavaScriptの記述と、そのプログラムと連携する仕組み(DOM+イベント)が追加された。
  • 他のメディアを描写するためのプラグインアーキテクチャがウェブブラウザに実装された。

だったと僕は思う。

もちろん表示履歴や、ブックマーク、ツールバーなどのUIの改善や、HTMLとHTTP自体の進化(CSS2のサポートはこの一環)、他の通信プロトコルのサポートなども、いろいろすごかったりするけど、やっぱり「ウェブブラウザは最低限この機能が無いとウェブブラウザって呼べないんじゃね」っていうのは上記の4点な気がする。

後者二つの発展が特にすごいと僕が感じるのは、大抵の技術革新がコンピューターの性能を最大限に使おうとする中、逆に制約を課したことによって、「ユビキタス+クラウド」というコンピューティングアーキテクチャの実現を推進したって言うところじゃないかな。

それまでのネットワークコンピューティングはよりクライアント側に演算責任をシフトし、データのガラパゴス化をしてしまっていた。それを、手元のデバイスはこのレベルでいいはずって決め、逆に演算責任の大半を「あちら側」にシフトすることによって、それまで分散化されていたデータが連携できる場所に集約され、新しいサービスを可能にしてる。

その上、演算責任の制約によって、P2Pモデルでは貧弱すぎるとされるデバイスクラスも主役レベルで利用できるようになって、電源や通信の両方での発展とあわせてユビキタスコンピューティングも実現できるようになった。

普通は足して伸ばすところを、押さえ込んで伸ばした感じ。いまさらかもしれないけど、ウェブブラウザすげー。

Tethering on AT&T with my BlackBerry BoldC

Tomorrow, I will be needing Internet connectivity at a cafe where there is none: so I decided to switch my BlackBerry data plan from unlimited to 5GB limit with tethering.

Once I made the switch on the at&t site, I searched the web and found the following instructions that seemed to suit my needs:
http://forums.crackberry.com/f83/tethering-bold-9000-mac-over-bluetooth-4-6-0-247-a-180975/
There were the worrisome posts about people failing to connect, but I forged ahead, and whaddya know, I was getting the same error message that everyone else was getting.

I did the usual debugging stuff, such as turning on verbose logging, and searching for the error that I was encountering, namely:

Mon Oct 12 03:00:55 2009 : rcvd [IPCP ConfNak id=0xf ]
Mon Oct 12 03:00:55 2009 : IPCP: Maximum Config-Requests exceeded
Mon Oct 12 03:00:55 2009 : sent [LCP TermReq id=0x3 "No network protocols running"]
Mon Oct 12 03:00:55 2009 : rcvd [LCP TermAck id=0x3]
Mon Oct 12 03:00:55 2009 : Connection terminated.

Unfortunately, all I found were complaints about the error above, and no solutions.

Then, I found this post:
http://blogs.itmedia.co.jp/komata/2009/02/blackberry-bo-4.html

It’s about not being able to connect in Japan, but what the heck, I gave it a shot, and it worked! Here are the steps I took:

  1. Copied /usr/sbin/pppd to my home folder and created a backup copy just in case:
    cp /usr/sbin/pppd ~
    sudo cp /usr/sbin/pppd /usr/sbin/pppd.bak
  2. chown-ed and chmod-ed the local copy so I can write to it:
    chown kamiya:staff pppd
    chmod u+w pppd
  3. Used HexEdit to change the hard-coded DEFMAXREQLOOPS (an Apple specific change in pppd):
    (in the post above, Mr. Kokubo changes the 0×0f000000 at offset 0xa891, but that is not where I found mine, even though our versions seem to be the same, namely  pppd version 2.4.2 with file size 535472)
    Changed 0×0f000000 at offset 0×0000A889 to 0xffff0000
  4. Copied local copy to /usr/sbin/
    sudo cp pppd /usr/sbin

Now I can connect without a problem. According to Mr. Kokubo, it seems that the pppd servers are taking a long time allocating an IP to the device, and the fix above allows pppd to  wait longer than the default 15 loops.

Please note that I do not use pppd for other purposes on my machine (I use OpenVPN), so please make sure that you have the backup copy of pppd handy just in case you need to go back to the original version.

I hope this “bug” is fixed in some later version of OS X. Hopefully this will help someone with connection problems out there.

P.S. I found a similar but different track to the same problem in the post below:
http://www.setera.org/projects/blackberry-bold-pppd-replacement/

Eulogy for Joshua M. Krupp

Josh, I hope you can hear me, wherever you are.

Man, your departures are always so abrupt. You never take the time to say a proper goodbye, but I suppose that is just your way of hiding your sensitive side. You were never one to savor somber moments either, so I am going to keep it that way. This eulogy will be a re-confirmation and re-validation of all the things about you that have made me a better man for knowing you.

The first word that comes to mind when describing you is loyalty. You are absolutely steadfast in that aspect. Through good times and bad, you have stayed a true friend of mine for the past 20 years. Whenever I was in need, you would be one of the first to call and say, “What do you need, man? Just tell me”, and I knew I could count on you for help. And you have never asked for anything in return. You are definitely a good man to have on my side of the table.

You are also a very smart man. You have always been one of my most ferocious intellectual rivals. I have learned so much from you, and through countless hours of debate in subjects ranging from economics to history, I have gained a foothold in areas that tend not to be my strength. I still have many of the books that you made me read. While it was a pain when I was still learning the English language, these are now treasures that I cherish to this day. And how can I forget how we used to cut class to battle each other in various strategy games. In the end, you always gained strategic advantage through canny insights into the underlying fundamentals, and I would just be crushed.

But above all, you are a visionary. It was during our Junior year in high school that we started our first business venture together. It was a simple gig, selling Chinese food for a few bucks here and there, but it got us started. You are always up to new challenges, such as viticulture, architecture, construction, and investments, and as you study new material, you would absorb them very quickly, and come up with new ideas which we could explore as business opportunities. The effort we made starting an Internet based clothing store in 1994, working with designers such as Nicole Miller, formed the foundation for businesses that I run to this day.

Josh, as you can see, almost every bit of my life was in one way or another shaped through our friendship. To the rest of the world, we are best friends, sharing so much of our time and interests since high school. To me, you are family. We may not share flesh nor blood, but in every other aspect, you are the brother I had always wished for. There must be so many things that you were planning to do, but don’t have the time to do any longer. Such as taking care of your little sister, your little brother, and your wife. Don’t worry, now that you are gone, I will do everything in my power to help you protect and nurture them.

Finally, since you took off without giving me the time to say so, let me just say thank you for being there for me, Josh.