Myページ
ホーム
コミュニティの人々
ソフトウェア
技術紹介
適用分野
Tyzohとは
ご意見お問い合わせ

ワタナベのブログ

2006年3月アーカイブ

BluetoothにUWB規格を統合するみたい

WiMedia Allianceが推すMB-OFDM(Multiband Orthogonal Frequency Division Multiplexing)と、UWB-Forumが推すDS-UWB(Direct Sequence UWB)で規格争いの決着が付かないUWB(Ultra Wide Band)ですが、MB-OFDMがBluetoothとの統合を果たすということで一歩標準へ近づいたのではないでしょうか。

BluetoothにWiMedia AllianceのUWB規格を統合

ところで、Bluetoothも Ver1.0 のころは「接続まで時間がかかる」とか「不安定」などといった評価があったりして、いまいち普及しませんでしたが、Ver2.0になってから仕様がかなり改善され、ちらほら見るようになって来ました。最近はSkypeなどのPCで使うIP電話が注目され、Bluetoothヘッドセットが多く出てますね。

■ UWB規格の争いの最近の動向
http://www.itmedia.co.jp/news/articles/0503/04/news024.html
http://www.itmedia.co.jp/news/articles/0505/17/news074.html

ワタナベ (2006-03-29 16:29) | コメント(0)| トラックバック(0)

Anonymous モバイルPC構想 feat. 仮想化技術

手元のノートPCのHDがクラッシュしてしまいました...

以前から兆候があったので、データ類はすべて「あちら側」に置いてあり
大きな問題にはならず、事なきを得ましたが、

マシン自体は、

1. Windowsの起動がやたらと遅い
2. ログイン後、しばらくするとブルースクリーンになる
3. 書き込みがやたらと遅い(ある特定のセクタ群だと思われる)

のような症状になってしまい、
とても実用には堪えない状態になってしまいました。

ここは、いい機会だと思って、仮想環境によって実現する AnonymousノートPC作成の実験台にしようと思います。

構想はこれからですが。。。

Xen + ディスクイメージのライブラリ化 (+ QEMU)

でまとめてみたいですね。
中身は何も語っていませんが、まずは導入ということで。

# でもHDDが壊れてたらそもそも作業がままならない。。。

ワタナベ (2006-03-28 22:37) | コメント(0)| トラックバック(0)

「戦略的要求開発のススメ」

いま、こんな本を読んでいます。

「要求」は「存在する」ものではなく、「開発する」ものであるという立場に立ち、ビジネス価値から「要求」を戦略的に作り出すべきだと主張しています。

本書ではデミングサイクル(Deming cycle)としてよく知られているPDCA、BSC(バランススコアカード)を活用して、ケーススタディを交えながら要求開発のプロセスを解説しています。「ITによってビジネス価値を付加する活動」を戦略的に実施しようとしている人は一読してみると概観がよく分かるでしょう。

ワタナベ (2006-03-15 08:29) | コメント(0)| トラックバック(0)

Thunderbird 1.5 での日本語や長いファイル名の添付に問題

Thunderbird 1.5 を用いて、 Outlookを利用している方に日本語のファイル名を持つファイルを添付したところ、先方では添付ファイル名が ATTxxxxx.dat (※xxxxx は数字の列)となってまい、ファイル形式が分からず開けないという問題が発生しました。

よくよく見てみると、Thunderbird のトップページにも掲載されているように

受取人のメールクライアントによって、添付ファイル名が正しく表示されない場合がある

という現象が報告されています。対策パッチも出ておりますので、Outlook (Express)ユーザに日本語ファイルを送った記憶のある方、相手が開けていない可能性がありますので、念のため確認したが方が良いかと思います。

※ 「技術開発日記」ではありませんでしたが...

ワタナベ (2006-03-13 10:01) | コメント(0)| トラックバック(0)

WeakHashMap でハマリ

Java のWeakHashMapをご存知でしょうか。

通常のHashMapは、キーのハッシュを計算して値を高速に検索できる便利なクラスです。WeakHashMapは、HashMap実装のバリエーションのひとつで、弱参照によってキーを管理しています。Javaのガベージコレクション(GC)は誰からも参照されていないインスタンスを解放対象としていますが、弱参照をつかうことで「参照されていてもGCの対象」であるインスタンスを管理することが出来ます。

その結果、WeakHashMap以外の誰からも(強参照で)キーが参照されなくなったら自動的にGCの対象となります。これを利用しインスタンスのキャッシュのようなことが実現できます。

さて。
ここでハマリ。

StringLiteral {
private String value;

public StringLiteral(String value) { this.value = value; }
public Object getValue() { return value; }
}


というクラスのインスタンスをその値でキャッシュしようとして、

WeakHashMap cache = new WeakHashMap();

StringLiteral literal = new StringLiteral("Hoge");
cache.put(literal.getValue(), literal);

としていました。
ですが、一向にインスタンスが消えない。なぜ?

理由は上記APIリファレンスに書いてあります。
引用:

実装上の注意: WeakHashMap 内の値オブジェクトは、通常の強参照によって保持されます。このため、値のオブジェクトが直接的にも間接的にも強くそれ自体のキーを参照しないようにしてください。そうすれば、キーが破棄されないようになります。値のオブジェクトが WeakHashMap 自体を介してそのキーを間接的に参照するようにしてください。つまり、値のオブジェクトはほかのキーオブジェクトを必ず参照し、その関連付けられている値のオブジェクトが今度は最初の値のオブジェクトのキーを必ず参照します。この問題に対応する 1 つの方法は、値自体を m.put(key, new WeakReference(value)) のように、挿入前に WeakReferences にラップし、次に各 get でラップ解除することです。

今回の例は簡単な構造だったので、見つけやすいのですが、
コードの表面上はキーと値は独立しているように見えても内部の奥深くで参照関係があったりしますので、要注意です。

ちなみに「インスタンスが消えない」ことを発見するために Eclipse の TPTP を使いました。

使い方はここがイメージ豊富で分かりやすいです。

ワタナベ (2006-03-07 21:23) | コメント(0)| トラックバック(0)

HTTP-FUSE XENOPPIX

KNOPPIX というCDから起動可能なLinuxディストリビューションがあります。ブート時のデバイスの認識力に優れ、多様なマシン環境でも起動することが出来るということで、デモ環境や学内での計算機環境として利用されています。
日本では産総研が精力的にKNOPPIXの日本語化、多機能化を進めていて、いくつかのKNOPPIXの派生バージョンが出てきています。

中でも面白そうなのが、HTTP-FUSE XENOPPIX というものです。

KNOPPIXは cloop という圧縮ループバック・デバイスを使っています。これは大きな容量のシステムのイメージを圧縮された1つの大きなファイル(700Mb近く)に格納し、起動時にループバックデバイスとしてマウントする方法です。
これにより高機能なシステムを CD に収められるようになりました。

しかし、CDから起動する性質上、システムの環境を変更することは難しく、
実施したとしても大きなイメージファイルを作成し、再びCDに焼かなければならないというのはとても面倒です。

そこで、産総研では HTTP-FUSE KNOPPIX という派生バージョンで、FUSE-cloop という「分割圧縮ブロックファイルによるループバックデバイス」を開発しました。これは cloop デバイスを拡張して、ファイルアクセスがあったときに必要な部分だけをインターネットからダウンロードして読み込むというものです。

FUSE自体はユーザランドで仮想ファイルシステムを作り出すカーネルモジュール、ライブラリとして開発されています。これを利用して、FUSE-cloopはcloop を分割し、HTTP経由で転送できるようにしています。
分割・再構成がデバイスレベルで行えるようになったため、システムイメージが変更になっても差分部分の配布だけで済み、効率がよくなります。

さて、HTTP-FUSE XENOPPIX は、その名の通り、Xenを導入したKNOPPIXである Xennopix を HTTP-FUSE 化したものです。ブートに必要なイメージのサイズは6.5Mbで、そこからホスト環境となるKNOPPIX、ゲスト環境となる Plan9、NetBSDを起動することが出来ます。

HTTP-FUSE Xennopix が成熟していけばライブラリ化された新旧さまざまな仮想環境がいつでも再現できる環境になりそうです。

ワタナベ (2006-03-06 13:53) | コメント(0)| トラックバック(0)

Tyzoh レイアウト変更

ご覧の通り、トップページのレイアウトを若干変更しました。
画面表示がおかしい方は、スタイルシートはキャッシュされております。一度ブラウザのリロードをお願いいたします。Windowsをお使いの方は F5 キーでよいはずです。

ブログの更新がページの下のほうにあり、更新されたかどうかが分かりにくいという意見が多数ありましたので、トピックスのすぐ下に位置するようにしています。

色が薄くて見づらいとか、文字が小さいとか
画面上のご意見などあれば検討します。
ぜひぜひコメントください?。

ワタナベ (2006-03-02 19:37) | コメント(0)| トラックバック(0)

YAMLでXOOPSユーザ情報を拡張したい。その後。

YAMLでXOOPSユーザ情報を拡張したい。 やりました!! ユーザ情報の「その他」を保持しているDBのカラムの型が tinytext になっており、255バイトのデータしか詰められませんでしたが、以下のようにブロック内でPHPコードを実行することで管理画面からスキーマを変更し、65535バイトまで拡張することに成功しました。
global $xoopsDB;
$sql = 'ALTER TABLE '.$xoopsDB->prefix("users").' MODIFY bio TEXT';
$result = $xoopsDB->queryF($sql);
echo $result;

コンテンツのタイプを「PHPスクリプト」にしてレビューすると、その場で実行されますので、結果として 1 が表示されれば成功です。

よかった??。

ワタナベ (2006-03-02 12:57) | コメント(0)| トラックバック(0)

« 2006年2月 | メインページ | 2006年4月 »

プロフィール

ワタナベ

サーバ管理が趣味の渡邉充隆です。

仮想化やネットワーク構成に興味があります。
あとは、ウェブ系の技術(プログラミングからインフラまで)も好きで、特にデータの見せ方などを工夫することで情報の流通や再活用を促進する技術を研究しています。

dev.tyzoh.jp では ssdb の(コアではなく)周辺のコードをいじっています。

tumblr / del.icio.us

RSSフィード

コミュニティの人々 | ソフトウェア | 技術紹介 | 適用分野 | Tyzohとは | ご意見お問い合わせ

Copyright (C) 2004-2008 Nihon Unisys, Ltd. All Rights Reserved.
Powered by Movable Type Open Source