すざき
Jump to navigation
2005・05・24
ビジネスショウ/IPAX2005に行ってきました
井上さんのIPA未踏プロジェクトの説明員として、機能説明とチラシ配りをしてきました。
私は、金曜日の一般公開日の担当でしたが、IPA未踏のブースはビジネスショウのホールとは別のホールだったためか、一般公開日のわりに、客足は鈍く感じました。
また、マニアックな質問は少なくて、表面的な機能の説明を求めているお客様がほとんどでした。
さらに、IPA未踏ブースへ迷い込んできてしまった普通のお客様も多くて、説明を聞いても「???」という人も少なからずいました。
たとえば
・P2Pが分からない。
・Subversionが分からない。(CVSとかMSのVSSみたいなソースコード管理のシステムです。といっても通じませんでした。)
・グループウェアが分からない。(ノーツやサイボウズとかの名前を出しても分かっていないようでした。)
・P2PをPSPと勘違いしていた。(ゲームじゃないの?と聞かれてしまいました。)
認知度アップのための啓蒙活動がもっと必要なようです。
2005・04・28
WLA-L11の設定
家で使わなくなった無線LANアクセスポイントを会社に持ってきました。
メルコのWLA-L11という古い機種です。
しばらくほったらかしにしておいたため、IPの設定等がわからなくなってしまったので、工場出荷設定に戻してから設定しなおそうとしました。
以下は、その覚え書きです。
工場出荷設定時のアクセスポイントのIPアドレスは1.1.1.1
有線LANコネクタは、10M 半二重で接続する
PC側のLAN設定が「自動」になっていると、繋がらないことが多い。
最初、工場出荷設定であれば、IPは192.168.0.1かなと勝手に考えてつないでみても、まったく繋がらなかったのですが、まさか1.1.1.1だとは思いませんでした。
幸いメーカーのホームページからマニュアルがPDFでダウンロードできたので、参照しながら設定しました。
マニュアルはよく読みましょう・・・
2005・04・22
Ajaxを用いた地図サービス
Google Mapsと同じような地図サービスがgooとinfoseekでも始まりました。
goo
http://map.labs.goo.ne.jp/
infoseek
http://map.www.infoseek.co.jp
どれも、サーバーには静的な地図画像を置いて、地図を動かす部分はブラウザ側で制御して、非同期的に地図画像を取得するAjax的アプローチです。
Ajaxの適用されるサービスとしては、地図ぐらいが無難なのでしょうか。
2005・03・16
Google X
http://labs.google.com/googlex/
アイコン部分が、Mac OS XのDockみたいになっています。
面白いです。
一文字の変数や関数で読みにくいですが、ソースを見てみると、かなり勉強になります。
基本的には、onmouseoverとonmouseoutで画像のサイズを大きくしたり小さくしたりしているだけです。
funciton gidle()が、画像を徐々に大きく(小さく)しています。
この関数をsetTimeoutで再帰的に呼び出しているのですが、現在時刻と前回gidle()を呼び出した時間との差を取って画像を大きく(小さく)する割合を変更しています。
つまり、速いPCでは滑らかに大きく(小さく)なるようにしてます。
また、アイコンにマウスを置くとアイコンの上部に文字が浮き出てくるのですが、こちらも文字の書かれているブロック要素の色を徐々に変更しているため、浮き出てくるように見えます。
この浮き出る度合いも時間で割合を決めています。
プロジェクトAはメニューバーがボタンだらけで狭いので、mouseoverで広がるようにするとか、応用できるかな。
2005・02・24
Notes C++ APIアプリケーションをFedora Core 3で動かす(続き)
ライブラリの互換性のため、動作確認が出来ませんでしたが、結局アプリケーション本体もG++2.9系でビルドすることにしました。
G++2.9系でのビルドは一筋縄ではいかなかったのですが、なんとか出来ました。
しかし、Notes API でおかしな部分があります。
一つは
「文書中の添付ファイルのデタッチが出来ない」
デタッチしようとすると、なぜかエラーになってしまいます。
ファイルのアクセス権限の問題かもしれませんが、動作しませんでした。
もう一つは、
「ホットスポットリンクから、リンク先の情報が取得できない」
ふつうのDBリンク、文書リンクはリンク先の情報が取得できているのですが、ホットスポットの場合だけ取得できません。
これらの問題が、compatパッケージで無理矢理動かしているためなのか分らないので、Windows上で同じコードを動かしてみようと思います。
2005・02・22
Firefoxのプラグイン
最近は、Linux環境で仕事をしているので、ブラウザはFirefoxを使っています。
しかし、Firefoxのタブブラウズ機能は、Sleipnirの操作性には程遠いので、疲れます。
そこで、機能の不足を補間するプラグインをいくつか使ってみました。
Tab Clicking Options
http://twanno.mozdev.org/
タブ上でのクリック動作にアクションを割り当てられます。
(私はダブルクリックでそのタブが閉じるようにしています)
Tab X
http://clav.mozdev.org/
タブ上にタブを閉じるXボタンが表示されるようになります。
Click2Tab
http://click2tab.mozdev.org/
ブックマークを開いたり、リンク先を新規Windowで開くときに、新規Tabで開きます。
miniT
http://mozilla.dorando.at/readme.html
タブ上でマウスホイールをスクロールさせて、タブを切り替えることが出来ます。
Tabbrowser Preferences
http://www.pryan.org/mozilla/site/TheOneKEA/tabprefs/
Firefoxのタブブラウザ設定を拡張します。
All-In-One Search button
http://pcdingo.freestarthost.com/firefox/index.php?lang=en&s=ext#allinonesearch
検索フィールドに入力した文字をWebページ上でハイライト表示します。
(現在日本語対応は別ファイルになっているので注意)
これらを使うと、Firefoxが少しだけSleipnirっぽくなりました。
でも、プラグインを読みこむから起動が遅くなったかも。
2005・02・03
Notes C++ APIアプリケーションをFedora Core 3で動かす
先週、Notes C++ API のサンプルは、compatパッケージを入れることで動かすことが出来ました。
しかし、現在作業しているアプリケーションは G++ 3.2系でビルドして動かすことを前堤としているため、サンプルと同様のエラーが出てしまい正しく動作しません。
Notes APIを使用してる部分だけをライブラリ化してG++ 2.9系でビルドして、アプリケーション本体を G++ 3.2系でビルドして、動かしてみましたが、シンボルが見つからないため正しく動作しませんでした。
ビルド時に互換性オプションみたいなものを追加して、動くようになったりしないでしょうか?
2005・01・27
Notes C++ APIをFedora Core 3で試す
Notes C++ APIのサンプルをFedora Core 3上で試そうとすると下のようなエラーが出てリンクできません。
dbtitle.o(.text+0x27): In function `main':
: undefined reference to `LNNotesSession::LNNotesSession()'
dbtitle.o(.text+0x3d): In function `main':
: undefined reference to `LNString::LNString()'
dbtitle.o(.text+0x7c): In function `main':
<中略>
: undefined reference to `vtable for LNSmartPtr'
dbtitle.o(.text+0x2f0): In function `main':
: undefined reference to `LNSmartPtr::DeleteBody()'
dbtitle.o(.text+0x2fe): In function `main':
: undefined reference to `LNNotesSession::~LNNotesSession()'
dbtitle.o(.gnu.linkonce.r._ZTV10LNDatabase+0x8): undefined reference to `LNSmartPtr::DeleteBody()'
dbtitle.o(.gnu.linkonce.r._ZTI10LNDatabase+0x8): undefined reference to `typeinfo for LNSmartPtr'
dbtitle.o(.gnu.linkonce.t._ZNK10LNSmartPtr12GetClassNameEv+0x12): In function `LNSmartPtr::GetClassName() const':
: undefined reference to `LNGetClassName(LNCLASSID, int)'
collect2: ld はステータス 1 で終了しました
make: *** [dbtitle] エラー 1
Notes C++ API 3.0 は、Linuxの場合、Red Hat 7.2 をサポート対象としていることから、最近のものでは動かないのも仕方がないと思いますが、とりあえず、下記のパッケージをインストールすることで動作しました。
compat-gcc-7.3-2.96.126.i386.rpm
compat-gcc-c++-7.3-2.96.126.i386.rpm
compat-libstdc++-7.3-2.96.126.i386.rpm
compat-libstdc++-devel-7.3-2.96.126.i386.rpm
サンプルでしか動作を確認していないですが、何とか動いてます。
2004・12・22
IE5.01をサポートするために
ProjectAのUIはHTMLなので、IE6.0とMozilla1.6を検証に使うことが多いのですが、テストフェーズに入るとIE5.01でJavascriptが動かないという問題が見つかることがあります。
このような場合、調べてみると原因はIE5.01ではサポートされていないプロパティやメソッドが使われていることがほとんどです。
先日見つかった問題の場合、
var obj = new Array();
var table_obj = document.getElementById("main_table");
obj.push(table_obj);
このようなコードがIE5.01ではエラーになっていました。
原因はIE5.01では、pushがサポートされていないためです。
obj.push(table_obj);
を
obj[obj.length] = table_obj;
と書き換えれば、問題ないと思いますが、すでにpushを他の場所でも使われていると思われるので、すべて書き換えるのは大変そうです。結局下のようなコードを追加して、pushをプロトタイプで定義することにしました。
function push( obj ){
this[this.length] = obj;
}
if(!Array.prototype.push) {
Array.prototype.push = push;
}
2004・12・09
XMLHttpRequestを使ってみる
Javascriptで、XMLHttpRequestを使ってみました。
XMLHttpRequestでを使用すると、Webサーバとの間でXMLの送受信が可能になります。
XMLHttpRequestの詳細は、
こちらを参照してください。
上記ページにあったサンプルを少し変更して試してみたところ、IEでもMozillaでも、きちんとレスポンスが取得できました。
上手く使いこなせば、とても便利だと思います。
エアワン上で使うとしたら、metaタグのRefreshで定期的に更新している部分を、TimerでXMLHttpRequestを実行するコードに置き換えて、更新時だけ表示を書き換えるように出来るかも。
そうすれば、リロード時に負荷がかかっていて、エラー画面が表示されてしまい、そのまま更新されなくなるということを防げそうです。
ほかにも適用できそうな場所があるかもしれない。
2004・11・22
POPFileのIMAP4モジュールを使ってみました
以前書いたとおり、家のメール環境はMercury/32を使って、下の図のようになっていました。
ISP--->POPFileによる振り分け--->MercuryのIMAP4サーバー--->メーラー
このままでも特に問題はなかったのですが、POPFileにはIMAP4対応のモジュールがあると知人から教えてもらったので、試しに導入してみました。
もっと読む...
2004・11・18
IEとmozillaのDOMの解釈の違い
<table id="hoge">
<tbody>
<tr>
<td>A</td>
</tr>
<tr>
<td>B</td>
</tr>
<tr>
<td>C</td>
</tr>
</tbody>
</table>
このようなテーブルがあったとき、DOMでAの<td>のオブジェクトを取得する場合、
IE6.0では、
var obj = document.getElementById("hoge");
var tbody_obj = obj.firstChild; //tbody
var tr_obj = tbody_obj.firstChild; //tr
var td_obj = tr_obj.firstChild; //td
こんな風に書くとオブジェクトが取得できますが、
mozilla1.6の場合は、
var obj = document.getElementById("hoge");
var tbody_obj = obj.firstChild.nextSibling; //tbody
var tr_obj = tbody_obj.firstChild.nextSibling; //tr
var td_obj = tr_obj.firstChild.nextSibling; //td
となります。
これは、mozillaの場合、オブジェクトのfirstChildは、textnode になっているためです。
つまり、tableの開始タグとtbodyの間の改行とスペースが値として入っています。
<table border="2" id="hoge"><tbody><tr><td>A</td></tr><tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>
このように、隙間なく書くことで、IE6.0と同じコードで動きます。
2004・10・27
FTTHに乗り換えてみました
先週、家のインターネット環境を「TEPCOひかり」に変えました。
今までは、ADSL Type2だったのですが、
(月額料金が高いのに、)
・IP電話を利用できない
・上り回線の速度が遅い
という不満があり、TEPCOひかりでは、
・月額料金はADSL Type2と同じぐらい
・IP電話が利用できる
・100M占有型
となるため、乗り換えました。
申し込みをしたのが8月半ばだったので、開通まで約2ヶ月かかりました。
もっと読む...
2004・10・14
デジカメで撮影した画像のその後
デジカメで撮影した画像ってどうしていますか。
私は、今までファイルとしてHDDの中で眠り続けている物がほとんどでした。
人に配るときも、CDに焼いたりしてファイルのまま渡していました。
しかし、最近は紙にプリントする機会が増えてきました。
というのも、パソコンを持っていない/使えない人に画像を配る必要が出てきたためです。
単にデジカメ画像をプリントするといっても、方法もいろいろあるし、コストも違うので、いろいろと試してみました。
もっと読む...
2004・09・24
WINASPIで遊ぶ
今更ながら、WINASPIをいじってみたりしています。
CD-ROMなどをセクタ単位で読み込んだりして、遊んでいます。
もっと読む...