ということで時代はAJAXなんだけど(意味不明)、作っててハマったことを私的にメモ。
1. Rubyにおいて、CGI#[]の返す値はどうやらStringのインスタンスではないらしい(1.8.2)。
dRubyにCGI#[]を渡すと化ける。CGI#paramsを使おう。
2. Javascriptで、var arr = [ 1, 2, 3, 4, 5, ]としたとき、arr.lengthの値はいくらになるか。
5になるような気がするだろうが、Firefoxでは5が、ieではななんと6が返ってくる。不可解。
これで失った時間、3日と少々... orz
これだよこれ!ネットワークAV機器としては、DivXなどのファイルを再生できるMediaWizの類が普及していたが、録画の方、つまり映像ソースをネットワークに流せる機器はこれまでになかった。もちろん、PCを使って構築すれば可能なのだけど、家電感覚で使えてなおかつPCと親和性のよいものがなかったのだ。
この製品は、映像ソース(TV/外部入力)をMPEG-2ストリームとしてhttpで配信してくれるものだ。ネットワーク機器としては理想的な形態といえる。
だって、例えばMediaWizと組み合わせれば、TVアンテナのないところにTVを設置して見ることができるかもしれない(意味あるかどうかは謎だけど)。画質を気にしなければ、無線LANとノートPCで「どこでもTV」を実現することだってできるらしい。頑張ってルータを超えれば世界中どこからでも自分の家のTVが見られるかもしれない。更に頑張れば、玄箱でスケジュールを管理してPCレス自動録画なんてこともできそうだ。ストリーム配信されてるのだから録画も簡単、httpで引っ張ってくるだけである。ここの情報によると、
http://[IP Address]:8001/stream.mpg?enc=[Quality:0..2]&src=[Ch:0..16]
を引っ張ってくるだけでよいそうだ。
こうやって、疎結合で組み合わせを自在に考えられるのが、ネットワークアプライアンス製品の魅力だと思う。中には独自プロトコルでがんじがらめになっている製品も存在するが(そしてそういう製品で苦労してたりもするんだけど)、最近のネットワーク機器はオープンプロトコルで自由に繋げられるものが多い。カーネルの奥深くに結びついていて容易にドライバ開発のできないUSB機器との大きな違いである。USB機器は1対1の使い方しかできないし。
オープンプロトコルであるということは、つまりWindowsだろうがMacだろうがLinuxだろうが、はたまたとっても変わったOSだろうが、接続性という点では変わらないということを意味する。これまでのアプリケーションの世界ではOSが偉かったのが、オープンプロトコルになった途端に偉いのはプロトコルだってことになる。そもそも計算機なんてできることは似たり寄ったりなんだから、実はOSの差異なんて本質的なものじゃないって思うんだけど。
このDNT-888L、検索してみると初期ファームのデキに皆さん苦労しているようだし、またMPEG-2ストリームというのも現代的ではないように思う(DivXやXviDみたいなCODECだったらずっとネットワーク負荷を下げられるしね。ハードウェアエンコーダでリアルタイムに処理できたら理想だ)。まだまだ過渡期の製品なのだろうが、今後の成長が楽しみである。
UTF-8対応TeraTerm Pro(WindowsNT/2000/XP/インターネット&通信)
ターミナル&telnetの定番TeraTermはこんなに進化していた!
ssh2が必要なときはputtyかcygwinでsshを使っていたのだが、日本語が文字化けするcygwinは使いたくないし、puttyもイマイチ手に馴染まないでいた。
また、マイコン開発に欠かせないシリアルターミナルとして使えるのもTeraTermのすばらしいところである。
設定がとっ散らかってて判り難いなどの「古株」故の問題は抱えているが、sshでXの転送をしてくれたり、cygwinのターミナルにもなったりと、大変高機能である。
オススメの一本。
リンクとしてはこちらを示したほうがよかったかも。
しかしFTTHというのも罪作りなもので、ついついスピードテストを繰り返しては一喜一憂してしまう。大変に精神衛生によろしくない。
さらに精神衛生によろしくないことには、一旦良くなったかに見えた転送速度が、どうにも遅いのだ。無線LANアクセスポイントをルータに直つなぎすることによって一時は30Mbpsまで回復した下り速度が、先ほど計ってみると1.2Mbpsしか出ていないのだ。VDSLとしては異常な遅さである(ADSLよりはるかに遅いじゃないか)。
妻のPCで試してみると、下りはやはり1Mbps前後、下りにいたってはなんと数十kbpsしか出ていない。そういえば妻は以前から「ネットが遅い。画像がアップロードできない。メイルも送信できない」とぼやいていたので、PCの異常かと思っていたのだが何らかのネットワーク障害かもしれない。
さらに追い討ちをかけるように、11bでの無線LAN接続の方がはるかに速いのには参った。上り下り共に5Mbps弱コンスタントに叩き出している。11bの実効転送速度を考えるとこれはいい数字、というより11bがボトルネックになっているのは間違いない。
となるとどうやら屋内配線の問題のようである。アヤしいのは10m以上延ばしているUTP線が2本もあること(しかも一本は子供が被覆をこわしてしまっている)、HUBがGREENHOUSEの安物であることである。配線をいじるのは大変なので、まずはHUBを疑ってみることにする。
デスクトップPCのつながっているHUBのポートを隣に切り替えてみる。スピードテストをすると... 下り8Mbps、上り1Mbps。逆転してしまった。
何事?と思いHUBのアクセスランプを見ていると... 線を引っこ抜いたあとも激しく点滅を続けている。繋がってからもリンクが異常に遅い。
ルータにpingを打ってみる。すると、数十%のパケットがロストしていた。こうなったらHUBがおかしいのは疑いようもない。
近所のオリンピックというスーパーの3階に夜11時まで開いている電器屋があるのでHUBを買いに行く。予想外の出費だなぁとワゴンを見てみると、980円の激安スイッチHUBがおいてある。今晩乗り切ればいいやと割り切って購入することに。
ということでHUBを交換して今このエントリを書いている。妻もネットが速くなったと大満足だ。
そういえばファイル転送も遅いなあといつも思っていたので、気がつかなかった自分にも腹立たしい。ただ、ADSLを使っていた頃にはここまで転送速度が遅くなかったので、光にしてHUBに負荷をかけたことで表面化したのかもしれない。
最大の問題は、交換したのは仕事部屋のHUBで、寝室にもまったく同じHUBが置いてあるということである。今のところ特に問題なく動いているようだが、さて...
マンションVDSLタイプなんだけど、光ファイバー導入です。
劇的に速くなるか!?とデスクトップマシンでスピードテストしたところ、なんと1.5Mbps程度しか出てない(下り)。
これならADSLの方が倍も速かった。だめじゃん... とノートPCでもテストしてみると、こちらは22Mbps出てる。
ものは試しにと妻のマシンでも調べてみると、こちらは3Mbps程度である。
どこかに問題があるのは間違いないのだが、さっぱり原因がわからない。どなたか詳しい方、助けてくださいm(__)m
その後再テスト。
上りと下りでえらい差があり、下りが1.2Mbps(!)、上りは20Mbps前後。
妻のマシンではこの差が少し狭まって、下りが2Mbps、上りが8Mbps。
いずれにせよ、えらく遅いことに変わりはない。
接続法だが、
[Router] ----- [SW HUB] ----- [PC]
といった状態で、HUBには無線LANアクセスポイント(11b)がぶら下がっている。
ためしにノートPCをルータに直接繋いでみたところ、上りは40Mbps、下りも20Mbps出ているではないか!これならVDSLとして普通の数字だ。
ひょっとして?と思い、無線LANアクセスポイントをHUBから引っこ抜いてみた。すると... ビンゴ!上り30Mbps以上、下り20Mbps以上が確保できた。
なんということだ。HUBはGREENHOUSEの安物なのだが、まさか無線LANに足を引っ張られるとは... 無線LANがないといろいろ不便なので(11b機器の開発をしているので実験ができない!)、さてどうしたものかと思案中である。
前にも書いたがわたしは自宅ではMSIのMEGA651というベアボーンマシンを使っている。
この機種を選んだのは、デザインのよさや(デザインが気に入ってPCを購入するのって初めてかもしれない)静かさがポイントだったが、フロントにカードリーダ各種が揃っているというのも気に入っていた。メモリカードってよく使うしね。
ところが。このメモリカードリーダー、どうやっても使えないのである。内部で配線が切れてるわけでもないのに、なぜだか認識してくれない。まぁそういうものかと思って我慢して使っていた次第。
先ほど帰宅して電源を入れてみた。いつもより起動が速い気がする。
OSが立ち上がってから、右下に「新しいハードウェアが見つかりました」の表示が出ている。あれ?と思って手元にあったCFカードを挿してみると、ちゃんと認識している!
一体なにがあったというのだろう?この世界「動けば勝ち!」なので深く追求しないことにしているが...