スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
2008-2009年のWebブラウザ重要度
投稿日時 : 2008-01-31 21:19
2009年のWebブラウザはこうなる - builder by ZDNet Japan
 
Mozilla Foundationの中の人が2008-2009年の各主要ブラウザの重要度を以下のように予想した。
 
2008年 ZDNet Japan
  1. Internet Explorer 6
  2. Internet Explorer 7
  3. Firefox 2
  4. Safari 3/2
  5. Internet Explorer 5.5
  6. Opera 9.2

 
2009年 ZDNet Japan
  1. Internet Explorer 7
  2. Internet Explorer 6
  3. Firefox 3
  4. Safari 3
  5. Opera 9.5

 
ZDNet Japanにも書いてあるが妥当な予想なんじゃないかという印象。2009年でIE7がトップに。2009年でやっとIE5.5が消える。Javascriptを書く側としてはできるかぎり種類は減ってほしいw
 
Firefoxは健闘するもIE6、7の牙城は崩せず。しかしCost-Benefit(費用対効果?)という観点ではFirefoxがトップらしい。
John Resig - The Browsers of 2009
cost-benefit
まあオープンソースだしね。
 
ところで2008/02/13からWindowsUpdateで自動的にIE7がインストールされます。個人的にはデメリットしかないように思えるので入れるつもりはありません。プログラムの動作確認用に実験機には入れてありますが。Microsoftも影響が大きいことを分かっているので、この自動更新を回避するための公式ツールを公開しています。
ダウンロードの詳細 : 自動配布の無効化ツールキット
 
使い方等は以下が詳しい。
IE 7自動配布の基礎知識(改訂版) - @IT
 
しかしこういうことを何も知らない一般の人は、ある日いつも通りにブラウザを起動したら何もかも変わってしまっていて混乱するんだろうね。
 
スポンサーサイト
2008-01-31 21:19 | Windows | Comment(0) | Trackback(0)
カーソル直下のソースをポップアップ表示するブックマークレット
投稿日時 : 2008-01-15 15:05
onMouseSourceViewerDemo
 
 
改良版を公開しました(2008/06/23):
カーソル直下のソースを表示するブックマークレット(改)

 
 
カーソル直下にあるオブジェクトを取得して、その前後のソースをポップアップ表示させるブックマークレットです。IE独自のelementFromPoint(x,y)を使っているので基本的にIEでしか動作しません。最近のOperaは一応elementFromPoint(x,y)が実装されたようですが、どうも動作が怪しいのでサポート外。
 
ウィンドウの端でポップアップフレームが見えなくなったら意味がないので、がんばって回り込み機能をつけました。まあその回り込み処理と見栄えにこだわったせいで508文字というブックマークレットの文字数制限に悩まされました。変数もグローバルで宣言されているので、ページ本体のスクリプトと干渉するかもしれません。文字数を減らすために削って動くものはすべて削っています。それと横スクロールが出た状態を想定していません。
 

■動作環境

  • IE5.5+
  • フレームページ不可
  • このページのようにスタイルシートで段組が作成されている場合elementFromPoint(x,y)がうまく動作しないみたいで、取得するオブジェクトが見当違いなものになったり、表示位置がおかしくなったりします。テーブルでレイアウトが構成されているようなレガシーなページだとうまく動作します(Googleの検索結果ページなど)。
508文字ではこのあたりが限界かと。
 
使用にあたっては自己責任でお願いします。
このスクリプトによって発生したいかなる損害も作者は責任を負いません。

 

■ブックマークレット本体

*このページではうまく動作しません。
動作確認はGoogleあたりでお願いします。
 

■整形済みソース全文

javascript:
(function(){
  d=document;
  b=d.body;

  //scrollTopが動作するか判定
  b.scrollTop++;
  b.scrollTop?E=b:E=d.documentElement;

  //ポップアップフレーム生成(正しいHTMLではない)
  b.innerHTML+='<div id=F style=position:absolute;left:0;
  top:0;width:300;word-break:break-all;background-color:000;
  color:fff;font-size:11;z-index:99999999/>';

  //マウスイベント補足
  d.onmousemove=function(){
    //現在座標
    x=event.x;
    y=event.y;

    //現在座標下のオブジェクト取得
    o=d.elementFromPoint(x,y);

    //ポップアップフレームの初期Y座標決定
    T=E.scrollTop;
    y+=T;
    
    //ポップアップフレームの横幅
    w=300;
    
    //表示文字数を切り詰めてポップアップフレームに書き込み
    F.innerText=o.outerHTML.slice(0,w*3);

    //ポップアップフレームのサイズに応じて回り込み処理
    h=F.offsetHeight;
    x+w>E.clientWidth?X=x-w-9:X=x+9;
    F.style.left=X;
    y+h-T>E.clientHeight?Y=y-h:Y=y;
    Y<T?Y+=T-Y:Y;
    F.style.top=Y
  }
}())
*実際は1行のコードにしないと動作しません。
 

■設定変更

ポップアップフレームの横幅を変更
    //ポップアップフレームの横幅
    w=300;
「w=300;」 の部分を1~999の3文字以内で指定する。
 
最大表示文字数を変更
    //表示文字数を切り詰めてポップアップフレームに書き込み
    F.innerText=o.outerHTML.slice(0,w*3);
「F.innerText=o.outerHTML.slice(0,w*3);」 の「3」を1~9の1文字の整数で指定するか、「w*3」を1~999の3文字以内の整数に書き換える。
 
2008-01-15 15:05 | Bookmarklet | Comment(0) | Trackback(0)
Wineでmsi形式のインストーラを実行する方法
投稿日時 : 2008-01-14 09:59
Wineでexe形式のインストーラを実行する場合は単純に
$ wine hoge.exe
とするだけでOKだが、msi形式の場合は
$ wine hoge.msi
とすることはできない。正解は
$ wine msiexec /i hoge.msi
inf形式の場合はさらに複雑で
$ wine rundll32 setupapi,InstallHinfSection DefaultInstall 132 hoge.inf
とする必要がある。
 
[参考]
Linux Salad: WineでWindowsアプリケーションを動かす
 
2008-01-14 09:59 | Linux | Comment(0) | Trackback(0)
[Ubuntu] ディスククォータの設定メモ
投稿日時 : 2008-01-12 15:40
Ubuntuでディスククォータを設定した際のメモ。
 
■インストール
itmst@mv1c3e:~$ sudo apt-get install quota
パッケージリストを読み込んでいます...
依存関係ツリーを作成しています...
Reading state information...
提案パッケージ:
  libnet-ldap-perl
以下のパッケージが新たにインストールされます:
  quota
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
422kB のアーカイブを取得する必要があります。
展開後に追加で 1282kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com gutsy/main quota 3.14-8 [422kB]
パッケージを事前設定しています ...
422kB を 0s で取得しました (1203kB/s)
未選択パッケージ quota を選択しています。
(データベースを読み込んでいます ... 現在 113740 個のファイル
とディレクトリがインストールされています。)
(.../archives/quota_3.14-8_i386.deb から) quota を展開しています...
quota (3.14-8) を設定しています ...

 
■サービス確認
インストールするとサービスの自動起動が自動的に設定される。
itmst@mv1c3e:~$ sysv-rc-conf --list | grep quota
quota        0:off      6:off   S:on
quotarpc     0:off      1:off   2:on    3:on    4:on    5:on    6:off

 
■/etc/fstabの編集
/etc/fstabのクォータを設定するデバイスのエントリのオプションに、ユーザごとにクォータを個別に設定する場合は「usrquota」、グループごとに設定する場合は「grpquota」を追記する。
itmst@mv1c3e:~$ sudo vim /etc/fstab
/dev/sda3 /mnt/sda3 ext3 defaults,usrquota 0 1

 
■再マウント
/etc/fstabに追記した設定を反映させるために該当デバイスを再マウントする。
itmst@mv1c3e~$ sudo mount -o remount /dev/sda3

 
■データベース作成
ディスククォータを使用するデバイスのマウントポイントに対して「quotacheck」コマンドを実行し、クォータ情報のデータベースを作成する。
itmst@mv1c3e:~$ sudo quotacheck /mnt/sda3
itmst@mv1c3e:/mnt/sda3$ ls -l
合計 24
-rw------- 1 root root  7168 2008-01-11 19:24 aquota.user
drwx------ 2 root root 16384 2008-01-11 16:58 lost+found
「/etc/fstab」で「usrquota」を追記した場合は、ユーザクォータのデータベースファイルである「aquota.user」が作成される。グループクォータの場合は「aquota.group」が作成される。クォータプログラムによってはtouchコマンドなどであらかじめ手動で空ファイルを作成しておかなければならない場合もあるらしい。Ubuntu7.10では自動的に作成された。
 
■有効化(初回のみ)
「quotaon」コマンドでクォータを有効化する。-aオプションで/etc/fstabファイル内のクォータが有効になっているnoautoオプションが指定されていないファイルシステム全てを対象とする。-aオプションでユーザクォータ、-gオプションでグループクォータを有効化。-pオプションで状態表示。
itmst@mv1c3e:~$ sudo quotaon /mnt/sda3

 
■無効化
「quotaoff」コマンドでクォータを無効化する。-aオプションで/etc/fstabファイル内のクォータが有効になっているnoautoオプションが指定されていないファイルシステム全てを対象とする。-aオプションでユーザクォータ、-gオプションでグループクォータを停止。-pオプションで状態表示。
itmst@mv1c3e:~$ sudo quotaoff /mnt/sda3

 
■設定
クォータの設定を変更するにはroot権限でedquotaコマンドを実行する。-uオプションでユーザクォータ、-gオプションでグループクォータの設定ができる。コマンドを実行するとエディタが起動し、編修後保存し、終了すると設定が反映される。
itmst@mv1c3e:~$ sudo edquota -u itmst
 
Disk quotas for user itmst (uid 1000):

Filesystem    blocks     soft     hard   inodes   soft   hard
/dev/sda3          0   100000   110000       0      0      0

 
edquotaコマンドで設定できる項目
使用ブロック数ユーザやグループが使用できるブロック数の上限
使用iノード数ユーザやグループが使用できるiノード数の上限
ソフトリミットユーザやグループがソフトリミットを越えてファイルを書き込もうとすると警告が表示される
ハードリミットユーザやグループがハードリミットを越えてファイルを書き込もうとするとエラーになる
グレースタイムソフトリミットを越えてから、エラーになるまでの猶予時間。猶予期間を越えると、ハードリミットに達していなくても書き込みエラーになる

ここでは実験のためにブロックのソフトリミットに100000、ハードリミットに110000を設定。
 
■グレースタイムの設定
ソフトリミットを超過してからエラーになるまでの猶予時間を設定するにはedquotaコマンドを-tオプションをつけて実行する。デフォルトでユーザクォータの設定になる。グループクォータのグレースタイムの設定は-gオプションをつけて実行。
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sda3                     7days                  7days
days、hours、minutes、secondsの単位でブロック数超過、iノード数超過の場合の猶予期間をそれぞれ設定可能。現在「7days」になっている箇所を「10minutes」や「30seconds」などに変更する。
 
■動作確認
実際にファイルを書き込んで、ソフトリミットを越えた時点で警告、ハードリミットを越えたらエラーが表示されるかを確かめる。ここではユーザクォータを設定した/mnt/sda3に「quota」というディレクトリを作成し、所有者を「itmst」に設定、そこにファイルをコピーしてみる。
itmst@mv1c3e:~$ sudo mkdir /mnt/sda3/quota
itmst@mv1c3e:~$ sudo chown itmst:itmst /mnt/sda3/quota/
itmst@mv1c3e:~$ cp -r /home/itmst/files/ /mnt/sda3/quota/
sda3: warning, user block quota exceeded.
sda3: write failed, user block limit reached.
cp: writing `/mnt/sda3/quota/files/file08.dat': Disk quota exceeded
cp: writing `/mnt/sda3/quota/files/file09.dat': Disk quota exceeded
cp: writing `/mnt/sda3/quota/files/file10.dat': Disk quota exceeded
cp: ディレクトリ `/mnt/sda3/quota/files/files2' を作成できません:
 Disk quota exceeded
正常に動作していそうなことが分かる。
 
■一般ユーザが自分のクォータ状況を確認する場合
一般ユーザが現在の自分のクォータの使用状況を確認するには「quota」コマンドを使用する。
itmst@mv1c3e:~$ quota
Disk quotas for user itmst (uid 1000): 
 Filesystem  blocks  quota  limit  grace  files  quota  limit  grace
 /dev/sda3  110000* 100000  110000   6days      25       0       0        
ハードリミットに達していることが分かる。
 
■rootユーザが全クォータ状況を確認する場合
rootユーザは「repquota」コマンドにデバイスファイルを渡して実行すると特定デバイスの全ユーザのクォータ状況を一覧表示させることができる。-aオプションで/etc/fstabでクォータが設定されているすべてのファイルシステムについて表示する。-uオプションで特定ユーザ、-gオプションで特定グループの全クォータ状況を確認できる。
itmst@mv1c3e:~$ sudo repquota /dev/sda3
*** Report for user quotas on device /dev/sda3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  141216       0       0              4     0     0       
itmst     +-  110000  100000  110000  6days    25     0     0       

 
■quotacheckを定期的に実行するようにcronに登録する quotaを設定した後は定期的にquotacheckコマンドを実行し、クォータデータベースファイルを更新しなくてはならない。これを手動で行うのは大変なのでcronを使う。
1時間おきにcronに実行してもらう
$ sudo vim /etc/cron.hourly/quotacheck.cron

/etc/cron.hourly/quotacheck.cron
#!/bin/sh
/sbin/quotacheck -aug

 
[参考]
Cyberam Documents Project - クォータ
 
2008-01-12 15:40 | Linux | Comment(0) | Trackback(0)
[Ubuntu] ハードディスクのUUIDの確認方法
投稿日時 : 2008-01-11 15:32
なにかと必要になるハードディスクのUUIDを確認する方法。「/lib/udev/vol_id」にUUIDを調べたいデバイスファイルを渡す。root権限が必要。
 
itmst@mv1c3e:~$ sudo /lib/udev/vol_id /dev/sda7
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=ba0c3819-223e-45ea-8711-1b0d660144a3
ID_FS_UUID_ENC=ba0c3819-223e-45ea-8711-1b0d660144a3
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=

 
GNOMEのデバイスマネージャ「/usr/bin/hal-device-manager」からも確認できる。該当ドライブの詳細タブの「volume.uuid」に記述されている。

 
2008-01-11 15:32 | Linux | Comment(0) | Trackback(0)
[MDIEスクリプト] 選択アイテムを一つ上へ移動
投稿日時 : 2008-01-09 07:48
選択アイテムを一つ上のフォルダへ移動させるMDIEスクリプトを作ってみました。
 
FC2ブログのファイル名制限とファイルタイプ制限、管理上の都合などで「e00060_mdiescript_moveupper_100.js」というファイル名になっています。保存したら「ひとつ上に移動.js」というファイル名にでもしてMDIEに登録してください。
 
使用にあたっては自己責任でお願いします。
このスクリプトによって発生したいかなる損害も作者は責任を負いません。
 

■ダウンロード

ひとつ上へ移動.js

 

■設定変更について

動作を多少変更できるようにしました。ソース内の以下の部分で行頭の「//」(スラッシュふたつ)を削除するとその設定が有効になります。必要に応じて編集してください。
    ////////設定開始////////
    //行頭の"//"を削除すると設定が有効になる。
    
    //cFolDelete = 1; //処理後カレントフォルダが空なら削除
    //option += 0x10; //上書き確認しない
    //option += 0x8; //移動先に同名アイテムが存在する場合はリネーム

    ////////設定終了////////

自分ではデフォルト設定のままのをCtrl-PageUp、「処理後カレントフォルダが空なら削除」を有効にしたのをShift-PageUpに登録して使っています。
 

■ソース全文

MDIEスクリプト - ひとつ上へ移動.js
/////////////////////////////////////////////////
// MDIE Ver 0.2.5.3
// http://cres.s28.xrea.com/
// Copyright (C) 2002-2008 佐野
/////////////////////////////////////////////////
// ひとつ上へ移動 ver 1.00
// 選択アイテムをひとつ上のフォルダに移動させる
// Copyright (C) 2008 itmst
// http://itmst.blog71.fc2.com/
// itmst71@gmail.com
// 使用にあたっては自己責任でお願いします。
// このスクリプトによって発生したいかなる損害も作者は責任を負いません。
/////////////////////////////////////////////////

(function(){
    var option = 0x0;
    var cFolDelete = 0;
    
    ////////設定開始////////
    //行頭の"//"を削除すると設定が有効になる。
    
    //cFolDelete = 1; //処理後カレントフォルダが空なら削除
    //option += 0x10; //上書き確認しない
    //option += 0x8; //移動先に同名アイテムが存在する場合はリネーム

    ////////設定終了////////
    
    //処理可能か判定
    var FSO = new ActiveXObject("Scripting.FileSystemObject");
    var cFol = FSO.GetFolder(FolderView.Path);
    if(cFol.IsRootFolder){
        MDIE.echo('これより上位のフォルダは存在しません。');
        return;
    }
    
    //選択アイテムリスト生成
    var list = [];
    for(var i=0; i<FolderView.Count; i++){
        if(FolderView.Items(i).Selected){
            list.push(FolderView.Items(i).Path);
        }
    }
    if(!list.length){
        MDIE.echo('選択されたアイテムがありません。');
        return;
    }
    
    //メイン処理開始
    var shellObj = new ActiveXObject("Shell.Application");
    var pFol = shellObj.NameSpace(cFol.ParentFolder.Path);
    for(var i=0; i<list.length; i++){
        pFol.MoveHere(list[i],option);
    }
    
    //カレントフォルダ削除
    if(!FolderView.Count && cFolDelete){
        cFol.Delete();
    }
})();
 
 
他にもいくつかMDIEスクリプトを公開しています。
カテゴリ:MDIE Script
 
 
2008-01-09 07:48 | MDIE Script | Comment(0) | Trackback(0)
書いたものと一緒に周囲の音声も記録するスマートペン
投稿日時 : 2008-01-08 08:50

 
 ノートに手書きで書き込んだ文字と一緒にその時の周囲の音声も録音するスマートペン、「Livescribe」がもうすぐ発売されるようです。価格は200ドル以下になりそう。
 
書いたものと一緒に周囲の音声も記録してくれるスマートペン『LiveScribe』 | 100SHIKI.COM
 
手書き文字をデジタル化する機器は数年前から発売されていたが、このLivescribeがすごいのは音声録音に加えて、
100SHIKI.COM
そして書いた文字や図をあとからクリックすると、そのときに録音した音声が再生されるという仕組みになっているのだ。
 
というような機能を搭載している点。以下は公式サイトに掲載されている紹介ムービー。登場人物が全員かなりムカつく顔をしているが内容はとてもわかりやすいので許せてしまう。
YouTube - The Livescribe paper-based computing platform

 
一応簡単なストーリー仕立てになっている。ある女学生が生物の授業で先生がテストの範囲についてペラペラしゃべるのをメモしようしたが、早すぎてメモをとれない。友達も同じような感じでテストの詳細がよく分かってない。そこで自慢気にLivescribeを取り出して、メモをとったときの音声を再生させてみせるという流れ。
 
このムービーから分かる範囲で機能を挙げると
  • 手書きと同時に周囲の音声を録音できる
  • 手書き文字にペンで触れるとその文字を記入したときの音声が再生される
  • 専用紙を使う必要がある
  • 音声の再生速度を専用紙の下部のアイコンにタッチしてコントロールできる
  • 手書きデータをそのままPCに取り込める
  • 手書きデータを文字データとして検索できる
  • PCに取り込んだデータも専用紙上の操作と同等の操作が可能
  • ネット上のユーザ同士でデータを簡単に共有できる
とまあかなりすごい。
 心配な点を挙げるなら、PCに取り込んだ後に検索するときの文字認識精度。手書き文字のデジタル化という点において最も重要なのは、それが文字データとして検索可能になるということだと思う。検索できなきゃノートをただスキャンしたのと同じ。最近のOCRソフトがどの程度の性能なのかは分からないけど、一昔前のはきれいにスキャンした雑誌の活字の認識もあやしかった。アルファベットは比較的正確に読み取れていたので、アルファベット文化圏では特に問題がないんだろうけど、漢字のような複雑な文字をストレスなく認識してくれるのにはまだまだ時間がかかりそうな印象を受けた。こいつはどうなんでしょうか。  
 
 身体の動きとゲーム内の動きを連動させたWiiがヒットしたように、アナログ世界とデジタル世界をシームレスにつなぐ道具の開発というのはこれからどんどん発展していく分野。結局人間はアナログ世界、デジタル世界を問わず、物理的に存在していると認識できる、オブジェクト的存在を好む。数式に近かったプログラム言語の世界にオブジェクト指向モデルが登場したのも必然だったと思うし。これはこの先何百年経ったとしても変わらないんだろう。
 
 
あ。ふと思ったけどこれ絵描き歌に最適w
 
[参考]
Livescribe :: Turn Your Paper On
ペンコンピュータのLiveScribe、リリースを2008年に延期:ニュース - CNET Japan
 
2008-01-08 08:50 | Thecnology | Comment(1) | Trackback(0)
SleipnirでGMarksもどきを実現してみる
投稿日時 : 2008-01-07 20:30
GMarksもどきスクリーンショット 
 
SleipnirではGoogleブックマークが使えなくてかなり不便なので、なんとかならないものかと考えてみた。で、結局Sleipnirのダイナミックフォルダとブックマークレットを組み合わせてFirefoxアドオンのGMarksっぽいものを実現できたので紹介。
 

■概要

まあ要はGoogleブックマークが提供しているRSSフィードをSleipnirのダイナミックフォルダで取得し、その他の追加や管理はブックマークレットで実行するという仕組み。
制限事項としては以下のような感じ。
 
 ・自動ログインできない
 ・管理ページでの変更が即座に反映されない
 
自動ログインに関してはcookieが結構長く利くみたいなので、IEやIEコンポーネント系ブラウザで一度ログインしておけばあまり問題にならない気がする。変更の反映の問題は・・・後述するが手動で対応するしかないかも。
 

■作業

まずGoogleブックマークをSleipnirで開いて適当なラベルを表示し、以下のようにURLの末尾に「&num=1000」を追加してページを開き直す。
 

 
デフォルトの状態だと、ラベル内に25件以上の登録があったとしても、ダイナミックフォルダで読み取れるのは25件までになってしまう。これはデフォルトのURLで取得したRSSフィードには最大25件のアイテムまでしか記述されないから。これを「&num=1000」として開き直すことで、RSSフィードに1000件まで記述させることができる。上限は調べてないので分からないけど、とりあえず200~300件は平気そう。*登録する際にURLに追記しても可だが、一度追記してリロードすると他のラベルのURLにも自動的に「&num=1000」がつくので楽できる。
 
次にウィンドウ右下のRSSアイコンをクリック。

 
ダイナミックフォルダとして追加する。

 
タイトルにラベル名を入力して、適当なフォルダ(ここではGoogleBookmark)を作成してそこに追加する。追記(2008/09/10):『Sleipnir2.8.1のサイトルート相対パスの解釈がおかしい』参照。

 
この作業をラベルの数だけ繰り返す。
 
ラベルごとではなく、全ブックマークを日付順やタイトル順でソートしたものを登録することもできる。Googleブックマークのラベル一覧の最下部の「すべて表示」を選択後、以下のように「日付順」や「タイトル順」でソートしたものを同じ手順で追加する。もちろん総数が1000以上あるのなら「&num=1000」の部分はそれに合わせて修正する。

 
 
以下の追加用ブックマークレットも同じフォルダに追加する。「Googleブックマークの管理」はただのリンク。ブックマークレットは新しいタブを開いて追加画面に飛ぶようにしてある。
Googleブックマークに追加
Googleブックマークに選択文字をメモにして追加
Googleブックマークの管理
 
これでだいたい作業は完了。あとはSleipnirのお気に入りの整理で好みに合わせて並び替える。最終的には以下のような状態になっているはず。
GMarksもどきスクリーンショット
 
フォルダをリンクバーに移動させればGoogleツールバーのGoogleブックマークみたいにいちいちお気に入りペインを開かなくても利用できて便利。フォルダ名を「☆」にしてみるとそれっぽくなる・・・?

 
 

■変更の反映について

問題点は管理ページで追加や削除を行ってもSleipnir側に反映されないこと。以下のように該当ダイナミックフォルダで右クリックで「最新の状態に更新」すればよい。数が多いときは個別に更新するのが面倒なのでSleipnirごと再起動してしまうと手っ取り早いかも。

 
このダイナミックフォルダって一定間隔おきに自動更新できないんだろうか?右クリックプロパティの中に個別設定で「自動更新」という項目があるが、これは開いたページの自動更新のことみたい。
 
2008-01-07 20:30 | Windows | Comment(0) | Trackback(0)
注ぐだけで凍っていく謎の液体の動画
投稿日時 : 2008-01-06 12:38
ペットボトルから注ぐと瞬時に凍りつく謎の液体というのをGIGAZINEでやってて衝撃だった。
注ぐだけで凍っていく謎の液体の正体は? - GIGAZINE
 
これはなかなかすごい。
YouTube - Supercooling Experiment 4
 
この液体は特殊な科学反応を起こすようなものではなく、ただの純水。ペットボトルにもガラストレイにも細工はされていない。実はこれは過冷却という現象らしい。
 
過冷却 - Wikipedia
過冷却(かれいきゃく)とは、液体が凝固点(=転移点)を過ぎて冷却されても固体化せず、液体の状態を保持する現象。水であれば摂氏零度以下でもなお凍結しない状態を指す。
 
この過冷却状態の液体にわずかな振動(容器を振るなど)を与えると、一気に凝固し始める。 トリビアの泉でもジンジャエールを過冷却状態にして瞬時に凍らすというのをやってたらしい。
どうしてジンジャーエールだけ過冷却状態になるのか教えてください。 - 教えて!goo
 
検索すると他にも過冷却状態を作る方法がたくさんヒットした。
過冷却のこと -OKWave
 
今までまったく知らなかったけどみんなふつうに知ってるもんなの?
 
2008-01-06 12:38 | Science | Comment(0) | Trackback(0)
タブ型ファイラーのMDIE、9ヶ月ぶりに新バージョンリリース
投稿日時 : 2008-01-04 17:50
MDIEのスクリーンショット
 
 Windowsで愛用している最強のタブ型ファイラーMDIEの新バージョン0.3.0.0 RC6が、2007年3月27日以来、実に9ヶ月ぶりに2007年12月31日にリリースされた。この9ヶ月間MDIEの開発状況報告を含め、ブログその他、一切何の音沙汰もなかったので、掲示板では一時作者死亡説まで流れてたw。いや~生きててほんとよかった。MDIE使うとExplorerはもちろん、他の数々のすばらしいファイラでさえも見劣りしてしまう。これからも開発を続けて欲しいものです。できればコンスタントにw
 
今回のバージョンアップでサムネイル表示時に落ちてたバグが修正されたようでうれしい限り。ダウンロードは以下のページから。
 
MDIE(タブ型ファイラー)
 
詳細な更新内容は以下。
cresの日記
■MDIE 0.3.0.0 RC6
  • 検索のD&Dにバグがあった。
  • タブに&が表示できない問題を修正
  • 1.00Byteとか無駄だったので1Byteに修正
  • 切り取りで半透明にできるようにした(いくつかバグがあったがテスト段階で潰せたと思う)
  • Vistaの検索バーで落ちるのを修正
  • 存在しないディレクトリに、進むで移動した場合落ちるのを修正
  • タスクトレイに入れたまま終了すると、設定が保存されない場合があったので
  • 終了処理をWM_ENDSESSIONからWM_QUERYENDSESSIONにした。
  • フォルダツリーのEnterキーで同期を開始するが機能していなかった(修正内容に不安あり)
  • SHCNE_UPDATEITEMがうまく機能していなかった
  • ホイール系のソフトを入れている場合、ホイールでタブを切り替えるのチェックを外していた場合でも動作してしまっていたのを修正
  • タブのフォーカスまわりを修正
  • マウスジェスチャーでリストビューの並び替えを切り替えられるようにした(環境依存が強そう)
  • 読み取り専用ファイルをリネームするときに、同名ファイルが存^在しても成功しているように見える。//IShellFolder SetNameOf が成功してるんだけど、なぜ?
  • アドレスバーで環境変数を展開するようにした。
  • サムネイルの初期化がうまくいっていなかったのを修正。
  • サムネイルキャッシュの初期値をOFFにした。
 
縮小表示で落ちていた方はこのバージョンの修正でどうでしょうか?
 
ぜひ使ってみてください。
 
 
■システムトレイから復帰時に固まったようになる現象について
 最小化時にシステムトレイに格納する設定にしていると、復帰時に数秒間固まったようになる現象が起きる。長い間原因が分からなかったんだけど、どうやらMicrosoft IMEをタスクトレイに格納しているとダメみたい。MDIEを復帰させるとき、Microsoft IMEのツールバーの横幅が変更されるのが原因っぽい。どう干渉してるのかはよく分からないけど、Microsoft IMEをタスクトレイに格納していない場合や、IMEをATOKに入れ替えてる場合は、この現象は絶対に起きないのでたぶんあたり。これバグ報告されてるんだろうか?
 
■自作MDIEスクリプトを公開しています
Electronic Genome - カテゴリー:MDIE Script
 
[MDIEスクリプト] 選択ファイルの拡張子の解説を表示する『ExtSearch』
[MDIEスクリプト] JPEGを回転処理する『JPEGRotator』
[MDIEスクリプト] MD5ハッシュ値を比較する『comphash』
選択アイテムの名前を入れ替えるMDIEスクリプト
[MDIEスクリプト] 選択アイテムを一つ上へ移動

 
2008-01-04 17:50 | Windows | Comment(2) | Trackback(0)
[Linux] コマンドからファイルを関連付けアプリで開く方法
投稿日時 : 2008-01-04 16:12
 GnomeでNautilus上からだとWindowsの関連付けと同じように、ダブルクリックなどでファイルを特定アプリケーションで開くことができる。これがコマンドからだとファイル名を渡すアプリケーションの名前を知っていないといけない。しかしgnomeメニュー内のランチャーに登録されているアプリケーション名が実際のコマンド名とは食い違っているので、それを把握しておかなければならなかった。
 これが面倒だなあと思っていたら、偶然/usr/bin/gnome-openというコマンドが存在することに気づいた。もしやと思い適当なhtmlファイルを渡してみると、ちゃんとFirefoxで開いてくれた。
 しかも後で気づいたがそのhtmlファイルは中身こそhtmlだが、拡張子(というかファイル名の末尾)はわけあって.utf8になっていた。
 
test.utf8という中身がhtmlのファイルを渡すとFIrefoxが起動
$ gnome-open test.utf8
 
 どうやらWndowsの関連付けと違い、単純に拡張子だけでファイルタイプを判定しているわけではなく、内容から判断して適切なアプリケーションで開いてくれているようだ。すごいぞgnome-open。
 
2008-01-04 16:12 | Linux | Comment(0) | Trackback(0)
空中停止、垂直離着陸も可能『トンボ型飛行機』:カメラも搭載
投稿日時 : 2008-01-03 11:30
空中停止、垂直離着陸も可能『トンボ型飛行機』:カメラも搭載 | WIRED VISION
 
これはかなりやばい。羽ばたく系の飛行物はつくれないもんだと思ってた。
WIRED VISION
DelFly IIは小型化され、強度が高まり、飛行時間が長くなったうえ、空中停止や垂直の離陸と着陸、さらに後ろに飛ぶことさえできる。天井や壁に沿ってぶつからずに飛ぶこともできる。カメラも搭載できるので、偵察機として有用だ」
 
次の段階は、翼幅10センチメートルの『DelFly Micro』(写真)で、既に開発中だ。

 
YouTube - DelFly II
 
 
実は既にトンボ型ラジコンが市販されててびびった。
== 株式会社シー・シー・ピー おもちゃ / CCP Co., Ltd. TOY ==
 
もちろんWIRED VISIONの記事のやつみたいに軍用で使われそうなのとは作りが違いますが。2008年1月現在、Amazonで定価8379円が4980円ととってもリーズナブル。ちょっと欲しいがかなりデカいしうるさそう。
Amazon.co.jp: R/C メカトンボ ブルー: ホビー
 
実際に飛行している映像は以下。
YouTube - Dragonfly robot filmed

 
■実際に購入した人のレビュー
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.1
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.2
[N] トンボ型ラジコン「FlyTech Dragonfly」レポート vol.3
 
■解剖写真
羽ばたき飛行ラジコンFlytech Dragonfly 解剖写真 - Engadget Japanese
 
2008-01-03 11:30 | Thecnology | Comment(0) | Trackback(0)
[Linux] 複雑なリダイレクト
投稿日時 : 2008-01-03 08:49
リダイレクトは簡単だと思ってたら意外に奥が深かった。
 
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
 
前提条件
・標準入力は 0 番 
・標準出力は 1 番
・標準エラー出力は 2 番
以下はsh・bashの場合のみの説明。
 
標準出力と標準エラー出力をあわせてファイルにリダイレクトする場合、
$ command > output.log 2>&1
とするわけですが、これを
間違い
$ command 2>&1 > output.log
とすると、標準出力はoutput.logに出力されるが、標準エラー出力は画面に表示されてしまう。このあたりがどうも納得できなかったので調べてみると少し勘違いしていたことがわかった。
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
そもそも「2>&1」という書き方は「2 の出力先を 1 にマージする」というイメージで捉えている人が多いのではないだろうか。「2>&1」の本当の意味は「2 の出力先を、1 の出力先と同じものに設定する」である。
 
ということなので、冒頭の以下のコマンドを見てみる。
$ command > output.log 2>&1
初期状態の出力先は以下のようになっている。
標準出力    → 画面
標準エラー出力 → 画面
この状態からまず「> output.log」が処理され、
標準出力    → output.log
標準エラー出力 → 画面
のように1の標準出力のみがoutput.logに出力するように設定される。続いて、「2>&1」が処理され、「2の出力先が、1の出力先と同じものに設定」されるので
標準出力    → output.log
標準エラー出力 → output.log
となり、標準出力も標準エラー出力もoutput.logに出力されるようになる。
もしここで以下のように、
間違い
$ command 2>&1 > output.log
としたなら、先に「2>&1」が処理されてしまう。すると、
標準出力    → 画面
標準エラー出力 → 画面(変化なし:現在の標準出力は画面だから)
となる。この「2>&1」が処理された時点では、1の標準出力の出力先は画面なので、「2の出力先が、1の出力先と同じものに設定」されたとしても変化がない。この後に「> output.log」が処理され、最終的な出力先は
標準出力    → output.log
標準エラー出力 → 画面
のようになる。結果、output.logに出力されるのは標準出力のみで、標準エラー出力は画面に表示されることになってしまう。
 

■複雑なリダイレクトの例

以上のことが分かると以下のような一見複雑なリダイレクトも理解しやすくなる。
 
標準エラー出力のみをパイプに出力する
$ command 2>&1 >/dev/null | command2
「2>&1」で2を画面に出力し、「>/dev/null」で1がnullデバイスに捨てられ、残った2だけがパイプでcommand2に渡される。
 
標準出力と標準エラー出力を交換する
$ command 3>&1 1>&2 2>&3
1と2を入れ替える際に一時退避用のファイル記述子3に登場してもらう。「3>&1」で3を1と同じ設定にする。これは1の設定を3に一時的に退避させている。次に、「1>&2」で1を2と同じ設定にする。ここで1の設定が2に、つまり1が標準エラー出力になる。「2>&3」で2が3と同じ設定になる。3は一時退避していたもともとの1の設定なので、これで1と2が交換されたことになる。なんだか変数と同じ感覚で扱ってよさそうな雰囲気。
 
標準出力を捨て、標準エラー出力をページャで参照する
$ command 3>&1 >/dev/null 2>&3 | less
「3>&1」で、3を1と同じ設定の、画面を出力先にする。「>/dev/null」で、1はnullデバイスが出力先に設定される。「2>&3」で、2を3と同じ画面を出力先に設定する。結果、パイプでlessに渡されるのは標準エラー出力の2だけになる。
 
[参考]
UNIXの部屋 検索:リダイレクト (*BSD/Linux/Solaris)
 
2008-01-03 08:49 | Linux | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。