• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)


Date: Saturday, 16 May 2009 14:21

デスクトップ上に写真を表示するガジェット (フォトフレーム) は、 Windows なんかだとずいぶんさまざま公開されているけど、 GNOME デスクトップ向けだとちょっと高機能なものなど見あたらなかったので、 PyGTK で作ってみた。

■特徴

  • 写真のソースを複数サポート
    • フォルダ
    • F-Spot データベース
    • Flickr API
    • Picasa Web Album API
    • Tumblr API
    • RSS
  • 写真をランダムに表示するが、その表示確率の重みをソース別に設定可能

■インストール

GNOME 写真フレームは以下のパッケージに依存している。

また以下のパッケージが推奨されている。

ダウンロードして、展開後に ./setup.py install でインストールする。 あるいは一部機能が制限されるが、インストールせずに直接 gphotoframe を実行することも可能。

■設定

基本的には GUI で設定が出来るようになっているが、 写真フレームのサイズについてはまだ GUI を実装していないので、 以下のコマンドで設定する。

    gconftool-2 --type int --set /apps/gphotoframe/max_width 400 
    gconftool-2 --type int --set /apps/gphotoframe/max_height 300 
Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Saturday, 18 Apr 2009 06:14

GUI アプリ動作時にウェブにアクセスすると、その間 GUI が固まってしまう。 これを回避するにはウェブへのアクセスをバッググラウンドで行なう必要がある。 Gtk2-Perl の場合については以前書いたけど、 PyGTK なら Twisted を使えばとっても簡単。 これくらいなら、フォークとかスレッドとか細かな面倒を見なくて済む。

まずは必要なモジュールをインポート。 他のモジュールに先行してインポートした方がいいらしい。

from twisted.internet import gtk2reactor
gtk2reactor.install()
from twisted.internet import defer, reactor
from twisted.web import client
ウェブへのアクセスには getPage を使う。addCallback でアクセス終了後に呼び出す関数を指定する。 downloadPage では、ファイルへのダウンロードを行う。
d = client.getPage(url)
d.addCallback(func_cb)

def func_cb(data):
    print data

メイン・ループについては、gtk.main() の代わりに reactor.run() で開始、 また終了についても、gtk.main_quit() の代わりに、reactor.stop() を使う。

reactor.run()

なお、プロキシーを利用する場合はちょっと面倒みたい。 簡単な方法はないのかな。

追記: 結局プロキシーを利用する適当なモジュールを自分で用意した。(2009/05/19)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Monday, 02 Feb 2009 18:35

gnome-terminal のというか libvte の East Asian Ambiguous 問題は、最新の libvte 0.17.4 では解決されている。 libvte 0.16.x ではうまく効かなかった環境変数 VTE_CJK_WIDTH だが、 libvte 0.17.4 では wide なり auto (locale で自動判定) なりを指定すればちゃんと効く。

一方、この libvte 0.17.4 では文字の間隔 (フォントの幅?) が妙に広くなってしまうという問題がある。 ただ、理由はよく分からないが、これは環境変数 VTE_BACKEND に pango を指定すれば、従来通りの幅で表示してくれる。

環境変数をどこで設定したらよいか分からなかったので、 ランチャに以下のように指定した。

env VTE_CJK_WIDTH=auto VTE_BACKEND=pango gnome-terminal --disable-factory

gnome-terminal もこれで快適。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Saturday, 24 Jan 2009 09:49

F-Spot の日本語メッセージカタログを更新した。本家リポジトリの翻訳と、 Launchpad および Novell の翻訳をまとめ、未翻訳のところを訳した。 また、po ファイルではひとまずコメントアウトしてあるが、オリジナルの POT ファイルに含まれていない「設定」画面のメッセージも翻訳した。

その際、訳語や表記は基本的に相花さんの翻訳 (F-Spot や他の GNOME アプリ) に合わせ、その上で画像処理関係は GIMP の翻訳に、EXIF 関連や (写真用語) は EXIF の仕様書に合わた。

なお、ちょっと悩んだ翻訳に "Reparented" があった。 あまり使われる機能ではないが(コンパイルオプションの指定が必要)、 F-Spot のバージョン管理で使われるバージョンの一つで、 オリジナルの写真だったものを他の写真のバージョンの一つに変更させたものだ。 こちらはちょっと苦しく「再関連付け版」と訳した。

f-spot.mo を /usr/share/locale/ja/LC_MESSAGES/ なんかにコピーすれば、この翻訳が利用できる。

追記 1: 相花さんにエラーを修正の上コミットしていただいた。(2009/3/16 23:40)

追記 2: 0.6.x リリースにあわせて翻訳を更新した。 (2009/10/20 22:05)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Thursday, 27 Nov 2008 13:20

ダカフェ日記を見てしまい デジタル一眼カメラが欲しくなってしまった、というスイーツ(笑)ぶり。 なので、なるべく安く単焦点の明るいレンズを使うという観点でカメラを選ぶ。

一眼レフだとレンズキットで 4、5 万円くらいからあるのか、 安くなったものだなぁと調べてみるが、レンズってやっぱり高いのね。 いわゆる標準レンズに相当する単焦点レンズが欲しかったけど、 レンズ単体に 3 万円とか払えないですよ。 安い単焦点レンズというと Canon で EF50mm F1.8 II (約 9,000 円)、Nikon で Ai AF Nikkor 50mm F1.8D (約17,000円) ぐらい。 ただ、この Nikon のレンズなんかは普及機では AF が使えない。 ということで、メーカーは Canon に決定。

Canon で入門機というと Kiss シリーズ。旧機種の Digital X、現行機種の FX2 がある。 レンズキットがお得なので、 レンズ込みで考えると手ぶれ補正機構は欲しいかなということで Digita X は止めた。デジタルカメラは新しいものが基本的に良いだろうし、 物持ちが良い方なのでメーカーの補修用性能部品の保管期間が ちょっとでも長い方がいいかもしれないぐらいを考えた。 あと、SD カードの方が少し安いかな。

で、F と X2 で悩んだ。調べてみると結構細々違うようになっているが、 そのほとんどが私のような素人にはどっちでもいい感じ。 ただ、気になるのが連写撮影速度。JPG なら 3 枚/秒か、3.5 枚/秒の違いでどうでも良いのだけど、RAW の場合 F だと 1.5 枚/秒になってしまう。せっかくのデジタル一眼レフなので RAW で連写したいかなということで、これで X2 に決めた。 1 万円程度しか違わないし……、 とかなると他の相違も結構大きいかなとか思えるという不思議。

Kiss X2 でちょっと残念なのはボディの安っぽさぐらい。 これに関しては、F の方がボディ塗装がマットな感じで私には好ましい。 見た目については Nikon の D60 なんかは、値段の割によくできてると思う。

ということで Kiss X2 レンズキットと EF 50mm F1.8 II を購入した。 総計 66,000 円ぐらい。X2 には延長保証もつけたので、安く買えたと思う。 ほんの少しだけど撮った写真を Flickr にアップロードしたりする。 自分としては、思ったよりはまともに撮れて安心した。 一眼レフ楽しい。

Author: "yendo" Tags: "misc"
Send by mail Print  Save  Delicious 
Date: Tuesday, 20 May 2008 16:28

Gtk2-Perl で Twitter クライアント Twitim を作った折りのメモ。 アプリ動作時にウェブにアクセスすると、その間 GUI が固まってしまう。 これを回避するにはウェブへのアクセスをバッググラウンドで行なう必要がある。 ちなみに、ちょっと哀しいけど結論だけなら 最後の「もっと簡単な方法」だけ読めば十分みたい。

■分岐 fork

バックグラウンド動作のための分岐には、 スレッドやフォークがある。このような目的で スレッドを簡単に使うには POE があるようだがちょっとおおげさすぎる。 スレッドは UNIX 環境以外でも使えるのだろうが面倒だし、 Gtk2-Perl の FAQ でもお勧めしないとある。 なお、ruby なら間違いなくスレッドなのだろう。 Gtk2-Perl のアプリではバックグラウンド動作の例があまり 見つからなかったが、gnview はスレッドを使っている。

今回は AnyEvent を使っていることもあり、なるべく単純にと伝統的なフォークを使う。 AnyEvent は Gtk のイベントとなら協調して動作するが、 スレッドとか POE とかとはどうなのか不安だったこともある。 ただフォークでも注意が必要。 子プロセスの終了には use POSIX; の上、POSIX::_exit(1) する必要あり。 そうしないと X のエラーが起こる。 FAQ に情報 あり。 またその返り値は必ず指定する。 指定しないと X のエラーが起こる。はまった。返り値はまぁ 1 でしょう。

■通信 pipe 子プロセスから親プロセスに、通信結果を渡すプロセス間通信だと、 パイプや共有メモリが一般的。 変数で渡すなら共有メモリもいいが、基本スカラー変数しか渡せない。 (共有メモリについてもサンプルがある。 IPC-ShareLite は簡単。)

今回はパイプを使う。 サンプル あり。pipe() をつかって、親と子を繋ぐ pipe ハンドラを指定する。 use IO::Handle; の上バッファに貯めないよう autoflush させた方がいい。 (なお、Net::XMPP2::Client; は IO::Handle;に依存)

また、同時に複数のパイプが開かれる場合があるので、 ファイルハンドルには未定義の変数をあて、Perl (5.6.0 以降) に自動的に生成してもらう。 ファイルハンドルに変数を使うことはできない。

■コールバック Helper->add_watch

子プロセスから読込んだデータを親プロセスで使うには、 子プロセスの終了を検知しなければならない。

AnyEvent で子プロセスの終了を検知したり、 ファイルハンドラの読み込みからコールバックしたりすることもできるが、 今回は Gtk の Helper->add_watch で ファイルハンドラの読み込みからのコールバックを使った。 サンプルあり。

親プロセスで、Helper->add_watch のセットをしておけば、 子プロセスの終了を待たず (たぶん)、データがある程度流れて来次第、 親プロセスでそのデータを随時処理できるようだ。 子プロセスでパイプを close されると、そこでデータの読み込みを終了する。

もっと簡単な方法

……と言うように実装してしばらくしてから、 Re: forking an external process: msg#00022 というそのものの記事を見つけた。 LWP::UserAgent でサブルーチンのリファレンスを引数として渡し、 その中で Gtk->main_iteration while Gtk->events_pending; を呼ぶという方法だ。 とても賢い。ちゃんと試してないが大抵のところこれで十分だろう。 気づくのが遅かった。

追記: いろいろ書いたけど、結局のところモジュール依存を気にしなければ、 AnyEvent-HTTP を使えば超簡単。お勧め。 (2009/4/18)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Saturday, 03 May 2008 13:45

最新の開発情報については twitim - Google Code をどうぞ。

■Twitim とは?

Twitim は Perl + GTK で実装された Twitter 専用の XMPP クライアントである。

汎用の IM (想定しているのは Pidgin) に似ているが、Twitter の利用の際に便利なように機能が追加されている。 追加されている機能は以下の通り。

より適切なアカウント表示
Twitter ユーザの発言ではアカウント名 "twitter@twitter.com" を表示しな い。Twitter のスクリーンネームを jabber アカウントのユーザ名と同等に扱う。 その上でアカウント名は色分けされる。ユーザアイコンも表示可能。
Web API の併用
記事の取得に Web API を併用する。重複する記事は表示しない。 また、Web API を利用して、 返信一覧やフォロワー発言一覧などを取り寄せることも可能。
ウォッチリスト機能
特定のユーザやキーワードを、タブに分類して表示できる。つまり、人や話題 による (いわゆるクラスタ別の) 表示ができる。指定に応じて、サウンドやポップ アップ表示による通知も可能。
ハイパーリンクの追加
Twitter スクリーンネーム (@ 付きを含む) から、Twitter ユーザページへ ジャンプできる。
細かい動作に調整不足があるとか、 メモリをかなり喰う (RES で 45 MB 程度) とか、 依存モジュールが多くて手動のインストールが面倒などといった問題もあるが、 Unix デスクトップ向けの Twitter 専用 XMPP クライアントとしては、 それなりには使えるとは思う。

■既知のバグ

  • リンクをマウスポインタで指した際の強制スクロールの一時停止から復帰しない場合がある。
  • XMPP 接続失敗後に再接続を行うと、複数の接続が張られる場合がある。
  • track によって拾ったメッセージをポップアップする際、 まれに本文が空の場合がある。

■インストール

・Debian (Ubuntu) の場合 Deb パッケージを用意してある。Debian および Ubuntu ユーザなら /etc/apt/sources.list に以下を追加する。

Ubuntu では universe コンポーネントも追加しておく必要がある。

Debian (lenny) or Ubuntu (8.10)

deb http://www.tsurukawa.org/debian/lenny/ ./
以下のコマンドで必要なモジュールを含めインストールできる。 サウンドやポップアップ機能を使うなら、 推奨パッケージもインストールが必要。
aptitude install twitim 

・手動でインストールする場合

ダウンロード

以下をダウンロードして適当なディレクトリに展開する。

必須モジュール

Perl (v5.8 以降) が動作する環境とともに以下のモジュールが必要となる。

  • AnyEvent
  • Net::XMPP2::Client
  • Glib
  • Gtk2
  • LWP::UserAgent
  • XML::Simple
  • JSON::XS
  • HTML::Entities
  • URI

推奨モジュール

以下はなくても動作に問題はないが、あれば音が鳴ったり、 ポップアップを表示できたりなどする。
  • Gnome2
  • GStreamer
  • Net::DBus::GLib
  • Gtk::Spell

■ライセンス

ライセンスは GPL 2 およびそれ以降。 なお、本アプリ中で利用しているアイコンは Pidgin由来のものである。 作者である Hylke Bons さんに感謝。 また、HyperText.pm というモジュールは、 Gtk2-Perl のサンプルを使い回したものなので、 こちらのライセンスのみオリジナルに従い LGPL 2.1 である。

Copyright © 2008 Yoshizumi Endo
Copyright © 2003-2008 gtk2-perl team (HyperText.pm)
Copyright © 1998-2007 Hylke Bons (Icons)

利用にあたっては完全無保証だが、 バグ報告などあればメールや Twitter (@yendo0206) でどうぞ。 Gnome っぽいシンプルなアイコンとか描いてみようとしたけどめげたので、 どなたか作ってくれたりすると嬉しい。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Friday, 18 Apr 2008 05:28

■前置き

AMD 690G なマザーボードやら 17 インチ液晶モニタを二台やら購入し、 Debian をインストールした。最初は X での使い勝手がよい NVIDIA のカードを買うつもりだったのだが、 マザーボードがデュアルモニタに対応しているので、 ひとまずマザー内蔵のものを使うことにした。 また、購入したマザーボードのディスプレイ出力、片方がアナログだったりする のは今時どうなのよとか思ったりもしたのだが、DVI 出力が二つあってなおかつファ ンレスなグラフィックボードの入手がちょっと難しそうだったりこともあり、 片方はアナログ接続で我慢することにした。

利用するドライバだが、最初は fglrx ドライバを利用しようとした。 コンポジット表示は試していないが、2D 表示 も 3D 表示もまぁ軽快でいいかなと 思っていたら、ログアウト時に画面がブラックアウトするバグに遭遇した。 この問題に遭遇している人は多いようだが、 ちゃんとした解決方法はちょっとよく分からなかった。

結局、3D はひとまず諦め、オープンな radeonhd ドライバを使うことにした。 Debian の場合は sid に最新版 (1.2.0) が収録されている。 たまにマウスポインタの表示がおかしくなったりするようだが、 2D 表示や、動画程度ならこのドライバでまず問題はないようだ。 デュアルモニターの設定を含めたドライバ情報については X.Org Wiki - radeonhd にまとまっている。

■設定

まずは xrandr を端末から実行して、接続名を確認しておく。 AMD 690G だと、DVI-D_1 と VGA_1 だ。 Section "Device" には、"monitor-接続名" と好みの識別子を書く。私は識別子をそれぞれ "DVI"、"VGA" とした。

Option          "monitor-DVI-D_1"       "DVI"
Option          "monitor-VGA_1"         "VGA"
また、Section "Device" にはプライマリ接続となる接続名も書いておく。 "monitor-接続名" でも、自分で付けた識別子でもなく、接続名を書く。 ここで指定した接続モニタに GDM の画面や GNOME のメインパネルなんかが表示される。
Option          "RROutputOrder"         "DVI-D_1"
さらにモニタの設定を二つ用意し、片方にはモニタの位置関係を指定する。 なお、"RightOf" 以外にもいくつか指定方法がある。
Section "Monitor"
        Identifier      "DVI"
EndSection

Section "Monitor"
        Identifier      "VGA"
        Option          "RightOf" "DVI"
EndSection

■まとめ

デュアルモニター設定のために、変更する部分をまとめると以下の通り。

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "radeonhd"
        BusID           "PCI:1:5:0"
        Option          "monitor-DVI-D_1"       "DVI"
        Option          "monitor-VGA_1"         "VGA"
        Option          "RROutputOrder"         "DVI-D_1"
EndSection

Section "Monitor"
        Identifier      "DVI"
EndSection

Section "Monitor"
        Identifier      "VGA"
        Option          "RightOf" "DVI"
EndSection

まったくもってデュアル (あるいはマルチ) モニターは便利すぎ。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Friday, 18 Apr 2008 04:20
書いていたのを忘れていた古い記事だが、CRT が壊れた記念に公開しておく。

■前置き

捨て置いていた CRT モニターがあったので、デュアルモニターを設定してみた。 OS は Debian GNU/Linux。ハードウェアの構成は以下の通り。

ビデオカードASUS N6200 (Geforce 6200)-
液晶モニター (プライマリ)EIZO FlexScan L4611280x1024
CRT モニター (セカンダリ)NEC MultiSync 15 (PC-KM153R)1024x768

このビデオカードには、DVI 接続と VGA 接続が一つづつあるので、 それぞれにモニターを接続することになる。 メインは液晶モニター、その右側にサブとして CRT モニターを設置して使う。 なお、この CRT モニターはもともと PC-9821 シリーズ向けのものなので、 接続のために変換アダプタ (800円ぐらい) を購入した。

Geforce のドライバは、NVIDIA 提供の最新のもの をあらかじめインストールし、設定しておく。

■Xinerama vs. TwinView

X でのデュアルモニターには Xinerama を使うのが一般的だが、 NVIDIA の純正ドライバだと TwinView なるものが使える。 TwinView の利点は何かというと、マニュアルによれば以下の通りらしい。

  • 単一の X スクリーンを構成
  • 複数のデバイスで、一つのフレームバッファを共有
  • 単一のデスクトップをエミュレートするのにオーバーヘッドがない。

この説明では私は良く意味が分からなかったが、具体的に設定してみて分かっ た範囲で、TwinView の特徴をまとめると以下のような感じだった。 Xinerama の方は十分に試したという訳でもないので、いくつかの項目は もしかしたら Xinerama でも TwinView でもたいして変らないかもしれないけど……。

・TwinView の長所

  • 設定はコンパクトに済む
  • Xinerama よりもいくらか速いらしい。
  • モニターの位置関係に融通が効く。
  • 設定によって片方のモニタを無効にするのが簡単。
  • 両デバイスをまたがって、フルスクリーンを 構成するのが楽かもしれない。

・TwinView の短所

  • 片方のモニターに限って解像度を変更するのは、すこし面倒。
  • また片方のモニターのみ回転させることはできなさそう。
  • 一部アプリケーションでフルスクリーンモードの利用に制限がある。

せっかくなので、私は TwinView を利用することにした。

■設定 ドライバのバグというか仕様なのか、一部面倒なところがある。

・TwinView を有効にする

/etc/X11/xorg.conf の "Device" セクションにまずは以下のものを追加する。 これで TwinView が有効になる。

Option    "TwinView" "on"

・DVI 接続をプライマリに設定 + 基本設定

私は、DVI 接続の液晶モニターをプライマリとして、 VGA 接続の CRT モニターをセカンダリとして利用したいのだが、 デフォルトでは VGA 接続の CRT モニターがプライマリとして認識されてしまう。 これは、以下のオプションで変更する。

Option    "TwinViewXineramaInfoOrder" "DFP, CRT"

しかし、ややこしいことに、 設定の際、明示しないかぎり暗黙のプライマリ接続は VGA 接続の方だとみなされてしまう。 水平周波数、垂直周波数 は、 それぞれ DFP (DVI 接続)、CRT (VGA 接続) と明示した方が 分かりやすいだろう。 "SecondMonitorHorizSync" と "SecondMonitorVertRefresh" は使わない。 モニタの配置順序は、暗黙のプライマリ接続の「左」に、 暗黙のセカンダリ接続を配置するため、"LeftOf" とする。 明示的に "DFP RightOF CRT" と書いた方が分かりやすいのだが、 これだと SDL なアプリケーションではなぜか 両モニターをまたぐフルスクリーン表示で左右が逆になってしまった。

Option    "HorizSync"   "DFP: 31.5-64; CRT: 24.8-57"
Option    "VertRefresh" "DFP: 50-75;   CRT: 55-90"
Option    "TwinViewOrientation" "LeftOf"

・Metamodes の設定 最後に "Metamodes" 画面モードの設定を行なう。"," で区切って、複数のモニター の解像度を設定する。";" で区切ることによって、複数のモードを設定できる。 以下は読みやすいように複数行にわたって書いているが、実際は一行にまとめる 必要があったと思う。

Option    "Metamodes" "DFP: 1280x1024, CRT: 1024x768 +1280+110 @1024x768 ; 
                       DFP: 640x512 @640x512, 1024x768 ; 
                       DFP: 1280x1024, CRT: NULL"

一行目の "+1280+110" というのは、"TwinViewOrientation" による配置順序を無視 して、独自に位置関係を設定する項目である。異なるモニタを使えば、 普通スクリーンの上下の位置は、適切なものとはならないだろう。 ここでは、CRT モニターの方を上に、110 ドット分ずらしている。 この設定ゆえ、右方向に 1280 ドット分ずらす設定も併記しておく。

一行目、二行目にある "@1024x768" という項目で、パンニング・ ドメインなるものを設定する。これを設定すると、いろいろあるけど、 相対的に画素数の少ないモニターで 表示できない範囲を無視してくれるようになるはずなのだが完全ではないようだ。 設定しないとどうなるんだっけ。上下にビューポイントが 動いたりするんだっけか。確か面倒だった。

三行目の "NULL" という設定は、 そのディスプレイを利用しないための設定。 DPMS のオフステートに対応したディスプレイならば、 電源もちゃんと切れて無いものとしてくれる。

この例のように設定すると、 GNOME の場合「画面の解像度の設定」で設定を動的に変更できる。 二つのデバイスをまとめて、三つの解像度が利用できるわけだ。

なお、設定をぜんぶまとめると以下の通り。

Option    "TwinView" "on"
Option    "TwinViewXineramaInfoOrder" "DFP, CRT"
Option    "TwinViewOrientation" "CRT LeftOf DFP"
Option    "HorizSync"   "DFP: 31.5-64; CRT: 24.8-57"
Option    "VertRefresh" "DFP: 50-75;   CRT: 55-90"
Option    "Metamodes" "1024x768 +1280+110 @1024x768, 1280x1024 ; 
          1024x768, 640x512 @640x512 ; NULL, 1280x1024"

■まとめ 〜残された問題

古い mplayer のフルスクリーン表示で、映像の一部が表示されないことがある。 また古い mplayer だと異なるモニタのアスペクト比に自動では対応できない。 コマンドラインで、 "-xineramascreen 1" などと表示するモニターを明示したり、 "-monitoraspect 4:3" としてモニタのアスペクト比を明示しなければならない場 合もあろう。 ちなみに、Totem ならどちらも問題ない。

SDL を利用するアプリケーションでは、一方のモニターで SDL アプリケーションをフルスクリーンで表示し、 一方のモニターで通常画面を表示することができない。 SDL アプリケーションをフルスクリーン表示するには、 どちらか一方のモニターを無効にしないと、 二つのモニターにまたがって中央に表示が行なわれてしまう。

他にも、液晶ディスプレイと CRT モニターで 色合いが結構違ったりするのが気になったりもするけれども、 デュアルモニターは思った以上に便利。 私の CRT モニターでは、小さな文字を読むのはしんどいが、 大きな文字で端末エミュレータ専用にしてもいいし、 映像はやはり液晶モニタよりはきれいだったりする。 腐った CRT モニタでも捨てるにはお金がかかるので、 電気代に注意しつつ、有効に使ってもよいだろう。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Monday, 10 Mar 2008 10:40

スペイン総選挙では優先権をもつ下院で、PSOE (164→169 議席) が勝ったが、PP (148→153 議席) も善戦。ともに 5 議席づつ伸ばした。 PP は野党の立場では過去最大の議席数。 この二大政党が下院において投票で 84%、議席数で 92% を占める。

二極化が進んだと言われるが、どこが議席を減らしたのかというと主に左派ミニ党 派。カタルーニャ共和左派 ERC (8→3) と 統一左翼 IU (5→2)。どちらも単独では 日本で言う院内会派を形成できなくなった。ERC は前回勝ちすぎたこともあるが、 IU の下落傾向は止らないようだ。

主な地域政党はおおまかに言って現状維持。例えばカタルーニャの CiU は 10→11、 バスクの EAJ-PNV は 7→6。あとは自治州のありかたなどについて憲法改正を主張 する UPyD がマドリッドで初議席を得たことがトピックなくらいか。

スペイン内務省発表の2008年総選挙データ http://www.generales2008.mir.es/

Author: "yendo" Tags: "misc"
Send by mail Print  Save  Delicious 
Date: Wednesday, 01 Aug 2007 06:38

最近のスキャナには本体にいくつかのボタン (スキャナビボタン) があり、コピーや PDF 作成などの機能を呼び出せるようになっている。嬉しいことに GNU/Linux でも scanbuttond を利用すれば、スキャナ本体のボタンのプッシュ・リリースを検知し、 好みのアクションを実行できる。

ただ、私が最近購入した EPSON GT-S600 (あるいは GT-F650、Perfection V10/V100 PHOTO) は、この scanbuttond ではサポートされていなかった。 そもそも最近の EPSON スキャナは、以前のものとはプロトコルが違うらしい。 しょうがないので、新しいバックエンドを用意した。 これでちゃんと本体上の四つのボタンを区別して検知できている。 また、GT-S600 以外の最近の EPSON スキャナも、この辺りを見てゴニョゴニョすれば何とかなるかも。

アップストリームにはパッチを投げておいたが、 一応ここでもパッチと Debian パッケージを公開しておく。 完全無保証だがご関心のある方はどうぞ。 パッチの方は当てたら automake をお忘れなく。

ちなみに、この GT-S600 で書類をスキャンする場合、トーンカーブの調整は scanimage そのもので --(red|green|blue)-gamma-table `curve.pl 100 200` のようにして済ますのが楽。 また、スキャンした書類をそれなりに整形するには unpaper が便利。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Friday, 12 Jan 2007 19:45

もう弄ることはないと思っていた Palm 用時計ソフトウェアの BigClock だが、 バグを見付けてしまったので、その修正ついでに若干の機能追加も行なった。

■バグ修正

  • OS4 以前の Clie ハイレゾモードでは、 日時指定付きタイマータイマー + で時間表示がずれていた。この問題を修正した。
  • OS3.x のデバイスで、 アラームおよびタイマーを「自動で閉じる」ためのチェックが外せなくなるバグを修正
  • タイマーで「この数を時間に掛ける」に 0 を指定すると、 条件によっては例外処理が適切に行なわれずにフリーズするバグを修正

■機能追加

  • メニューからタイマーやアラーム、サウンドを設定する際、 オリジナルでは必ず 1 番目の設定がまず表示されていた。 これを、例えば「タイマー2」が画面に表示されていれば、 「タイマー2」の設定画面が表示されるように変更した。 なお、上下二つのパネルについては上のものが優先される。
  • 「詳細設定」に、「クレードル上で常時オン」というオプションを追加

わずかな変更なので、 公開するパッチは前バージョンからの変更点のみを含むものとした。 ライセンスはオリジナルに基づき GPL。完全無保証。 2007 年の日本の休日データも置いておくが、こちらももちろん無保証。

前バージョンからのパッチbigclock_ye5-1.patch
バイナリ (日本語版)bigclock-ja_ye5-1.prc
バイナリ (English)bigclock-en_ye5-1.prc
Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Tuesday, 19 Dec 2006 12:00

ソーシャルブックマーク最大手 del.icio.us の最大の問題点は 日本語での検索ができないことだったが、久しぶりに使ってみたら 自分のブックマークに関してはちゃんと検索できるようになっていた。 まだ日本語では他人のブックマークの検索が出来ないのは残念だが、 ひとまずは常用できそうだ。 また、プライベートなブックマークをつける機能も追加されていたりして、 これも嬉しい。

さらに、del.icio.us 用 Firefox 拡張もシンプルなものFirefox のブックマークを統合する拡張の二つが用意されている。 私はシンプルな前者を利用したが、これでも以下のように十分便利。

  • Ctr + / でブックマーク、Ctrl + . で自分のブックマークページの表示
  • ブックマーク時に範囲選択をしていると、その部分を notes に挿入してくれる。
  • リンク先のブックマークも可

この拡張はなかなか便利なので、適当に日本語訳してみた。 ついでに私の好みでメニューの位置を「ヘルプ」の前にしたり、 (Debian の Iceweasel で) ブックマーク登録時のウィンドウに余分なクロールバーが表示されないように、 ウィンドウの幅を若干拡げたりした。

オリジナルのライセンスが不明だったので、 問題がありそうだったりしたら拡張やパッチの公開は期間限定になるかも。 ご利用になりたい方は完全無保証・自己責任でどうぞ。

  • delicious-ja.xpi: 日本語メッセージを含んだ拡張本体 (md5sum: 144d2900c581f25af5e648580b4833e7)
  • delicious-ja.diff: zip をすべて展開した上での差分

なお、Firefox 拡張の日本語メッセージ翻訳については、拡張機能の日本語化 - takanory.net を参考にした。 ただ、Firefox 2.0 相当を導入したためなのか良く分かっていないが Chrome Manifest なるものの修正も必要だった。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Tuesday, 21 Nov 2006 07:38
ネットワークを使えない Clie (OS 4.0) + jpilot で 天気予報を表示できるようにしてみた。 効率など無視したアナクロな方法だが、 天気予報の画像を引っ張ってきて、Clie で表示するようにした。

画像表示には PictureGear Pocket (あるいは Polar) を使い、画像の変換に は以前作成したシェルスクリプトを pgpf2palm として使う。 以下のスクリプト を仕込んでおけば、自動的に画像データの取得、変換、転 送ができる。 変数は適宜する必要があるが、TBS WEATHER GUIDE あたりがいいかも。 $url にはベースとなる URL を、$file には取得する画像のファイル名を指定する。

#!/usr/bin/perl 

use strict;
use LWP::Simple;

my @file = ("xxx.jpg", "yyy.jpg");
my $url = "http://";
my $tmp = "$ENV{HOME}/tmp/pgpf/";

foreach (@file) {
    my $rc = mirror($url.$_, $tmp.$_);

    if ($rc == 200) {
	system "pgpf2palm $tmp$_";
    }
}

Clie 付属の PhotoStand を使えば、ホーム画面から直ぐに画像を閲 覧することもできる。

……が、さすがにそろそろネットワークの使える PDA が欲しいところ。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Monday, 05 Jun 2006 11:39

■Last.fm とは?

いつもながら今更なのだが、 Last.fm が面白い。 音楽系の SNS あるいはソーシャル音楽リストとでも言えるようなサービスだ。 iTunes なり Windows Media Player なりで 聴いた楽曲のデータをサーバに送ることによって、

  1. 自分が聴いた曲のデータベースを作ったり、
  2. そのデータからお勧めの音楽を紹介してくれたり、
  3. お勧めの曲なんかを自分専用にアレンジしてストリーミング放送を してくれたりする。

上記の 1、2 については、ユーザ登録して、iTunes や Windows Media Player で聴いた曲データをサーバに配信するプログラムをインストールするだけでよい。 自分の聴いた曲については、各個人のページ (私のページ) で確認したり、 そのランキングを blog などに貼り付けたりもできる。 さまざまなミュージシャンのページを見ると、どの曲がどれだけ聴かれ ているのかなんてランキングが見れたり、関連ミュージシャンを教えてくれたりす る。

また、3 については Last.fm 専用のプレーヤーをインストールすることで利用 できるようになる。自分専用のストリーミングを利用するには月 350 円かかるが、 音楽の嗜好の似ている他のユーザのストリーミングや、 特定のアーティストやジャンルの関連曲のストリーミングは無料で聴ける。 これだけでも十分楽しめる。

■Last.fm のアドバンテージ

上記の 1、2 に相当するサービスは、日本国内では mixi プレミアムで同種のサービス (リンク先は mixi ユーザのみ閲覧可) が始まっているが、 英語を苦にしない洋楽ファンならユーザの絶対数から して Last.fm の方が楽しめるのではないだろうか。 Albert Plá なんてご存じだろうか? (いやかなりのお勧めなのだけど。) この記事を書いている時点で Last.fm には彼のリスナーが 610 人いる。 (The Beatles だと 305,541 人、 はっぴいえんどだと 7,943 人もいる。) まぁ、日本においてマイナーな (海外) ミュージシャンでも、 現地はもちろん世界規模なら相当にリスナーはいるわけだ。 この Last.fm は、まもなく excite と共同で日 本語でもサービスを始めるらしいが、こういう 資産をうまく生かせるようなサービスになってくれると嬉しい。 この種のサービスは母体となるユーザの質というより量にかかっているのだから。

そして、上記 3 の自分好みのストリーミング放送が利用できることは、 今のところ Last.fm の大きなアドバンテージである。 安価になった記憶媒体をふんだんに使う iPod (あるいは PC) は、作品毎に媒 体を入れ替える従来のプレイヤーに取って替りつつあるが、 この Last.fm とか Pandora、YouTube なんかを考えると、 それでも第 2 世代というよりは第 1.5 世代という感じがしてしまう。 そして、Last.fm や Pandora がポータブルに常時利用できるようになるのも、 そう遠いことではないだろう。 そうなるとクライアントソフトウェアは、ブラウザ + フラッシュとかになるのかもしれない。

時間帯によっては反応が遅くなることもあるようだが、 ともあれ音楽好きの方なら結構楽しめるはず。お暇なときにどうぞ。 私はじきに有料サービスも利用してみようと思っている。 なお、より詳しい情報については、以下のページが参考になる。

■Unix ユーザのために

ちなみに、この Last.fm は Unix ユーザにも優しい。 Last.fm 専用プレーヤーは、GPL なフリーソフトウェアだ。 例えば Debian なら apt-get install lastfm で利用できる。 もちろん、公開されているソースからコンパイルすることもできる。 ただこのプレーヤーは今のところ esound には対応していないので、 場合によっては esdctl off しておく必要がある。

また、曲データの送信機能については、 RhythmboxBanshee といったメジャーなプレーヤーなら その機能がビルトインあるいはプラグインで利用できるようになっている。 もちろん API も公開されている。 ただ、Rhythmbox の現行の Debian パッケージは、この曲データの送信機能がちゃ んと動作しないようだ。私はとりあえず rbscrobbler を拾ってきて利用している。

こういうこと mixi には期待はできまい。なんでだろう。 ユーザ数やその分布、開発者の趣味によるのだろうか。

Author: "yendo" Tags: "music"
Send by mail Print  Save  Delicious 
Date: Wednesday, 31 May 2006 15:41

先日一度は死んだ iPod だが、 なんとか復活させることができた。 一度は諦めたつもりだったが、ふと iPod には開発者向けに非公式の 診断モード (Diagnostic Mode) があるとかないとか、 どこかで読んだことを思い出した。 ググると、私の第三世代 iPod なら次のようにしてこの診断モードに入れると の情報があった。

  1. リセットする
  2. Apple マークが表示されたら直ぐに「戻る」ボタン、「進む」ボタン、 ホイール中央のボタンを同時に押して離す

こうすると、左右反転した Apple マークが表示され診断モードに入る。 この診断モードではホイールは効かない。「戻る」ボタン、「進む」ボタンで 項目選択、ホイール中央のボタンで項目決定をする。 そして、いくつかある診断項目の一つに HDD SCAN という項目があるのに気付いた。 おっと、これは!と思い、さらにググると、この HDD SCAN によって、 工場出荷時状態への復元が出来ない状況から、 正常な状態に復帰できたとの情報を見付ける。

AC アダプタに iPod を繋ぎ、早速この HDD SCAN を行なってみた。 進捗状況が明示されないので不安になるが、ほっといたら数十分で スキャンは終了。画面には HDD PASS (だったかな?) と表示がされており、 ハードディスクには問題がない (あるいは不良セクタの代替をしてくれた) かに見える。 実際このあと iPod Updater で復元を試みると、 何の問題もなく工場出荷時状態に戻った。

何が問題でどうして直ったのか詳細は良く分からないが、 おそらくハードウェアの障害だったのだろう。 少し気を付けて使うようにはしよう。 ともあれ情報を提供してくださっている他のユーザに感謝。 Apple のサポートにお願いしたら、 おそらくきっちり三万円弱のお金を取られるところだったろう。 まぁサポートっていうのはコストのかかる大変なことなんだけども。 と思うと、実は診断モードについては Apple が 意図的にリークしていたことなのかも。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Monday, 29 May 2006 10:00

バグ修正の他、細かな機能の追加を行なった。 この版での変更点は以下の通り。

  • TrainTime 休日データへの対応
    • 日付表示やカレンダーで土日祝日をカラー表示
    • 「日標準」および「アナログ時計」パネルで祝日名を表示
  • MIDI への対応
  • カラー設定の強化
    • ボタンや大きなフォントなどのカラー設定
    • システムカラー (カラーテーマ) への対応
  • OS5 高解像モード関連
    • テーマへの対応 (背景画像のみ)
    • カレンダー表示にスモールフォントを使用
    • 高解像度アイコンの追加
  • バグ修正
    • 一部 CLIE のハイレゾモードで終了後に画面にゴミが残るバグの修正
    • メモリーリークの修正
    • タイマーのラベルクリックでタイマーとタイマーCを常に切り替え
  • その他
    • アテンション・マネージャのアラート画面に日付を表示
    • ボタンを押したときにクリック音を鳴らす
    • アラーム音量が 0 の場合、サウンド設定モーダルにアイコンを表示して通知
    • 対応するチェスクロックの設定を同期

TrainTime 形式の休日データには、年末年始の休日など 祝日以外のデータも含まれるが、祝日名を書かなければ、 そのデータは無視するようにしてある。 一応 2006年の日本の休日データを置いておく。 こちらをメモ帳にインポートするだけで、BigClock からも利用できる。

ライセンスはオリジナルに基づき GPL。完全無保証。 なお、この版ではデータ構造に変更が加えられている。 そのため、ここで配布している版をインストールすると、 既存の設定データは初期化される。ご注意されたい。

オリジナルソースbigclock_src_2.83.tar.gz
改変ソースbigclock_src_2.83c-ye5.tar.gz
バイナリ (日本語版)bigclock-ja_ye5.prc (新版をどうぞ)
バイナリ (English)bigclock-en_ye5.prc (new version)

しばらく弄ってきたこの BigClock……、 もう少し分かりやすい体系的な設定画面とか、 UTC 基準の世界時計の設定やサマータイムへの対応など やり残したことはあるけど、一応この辺りで完結のつもり。

追記: バグ修正と若干の機能追加を施した新版を公開した。 (2007/1/13 04:45)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Saturday, 27 May 2006 11:46

先日のことだが、突然 iPod が死んだ。PC と同期している最中に、 ハードディスクがカッコン、カッコンと音を立てていた。 この音はあの 富士通の不良ハードディスクで聞いた音だ。 いくら待っても同期が終わらず、ディスクのアンマウントさえできないので、 やむなく PC の電源を切る。 この時点で、iPod 上からは楽曲データは全て見えなくなっていた。 ただ、空き容量は従来通りほぼないと表示される。

これはまずいなと思い、工場出荷時状態に復元しようとした。 しかし、復元は開始すらされず、またまたやむなく PC の電源を切ると、 今度は iPod が起動すらしなくなった。 初めて見るフォルダアイコンなるものが表示され、 再起動が幾度となく繰り返される。 めげずにもう一度復元を試みるが、 今度は PC 上にディスクエラー云々と切ないメッセージ。

私が今所有している iPod は約三ヶ月前、バッテリの消耗のため Apple の延長保証で交換してもらった同等品だ。iPod だけなのかよく知らないが、 iPod については Apple は修理は受け付けていない。 壊れたら基本的に新古品あるいは中古品といった同等品との交換だ。 とは言っても見た目は新品同様。なのに故障。そして、 この同等品の保証期間は 90 日である。

保証による交換品の場合、保証期間の正確な開始日がいつになるのか はっきり分からないが、 おそらくぎりぎり保証が切れてそうな今日このごろ。 新品同様の私の iPod も故障となれば、本体交換になる。 保証が切れているとしたらいくらかかるんだっけと調べてみると、 税込み 29,800 円とのこと。 それなら新品買いますよ。買えないけど。

ふぅ……っとこの辺りで一服していたら、 そういえばなんかディスクモードなる技があったなぁと 思い出した。外づけハードディスクの機能のみを提供する モードなのだろうか。Apple のサポートページにも説明がある。 ググるとこれなら問題のあった復元にも成功したとの情報もあった。 しかし、やっぱり復元は開始すらされなかった。

そういうことならと、おそらくハードディ スクがクラッシュしたんだろうから、iPod を開腹して、バルクのハードディスク を取り付けようと決意する。これなら1.5万円くらいでなんとかなるので はとウェブを検索する。しかし、バルクのハードディスクは微妙に iPod で使えなさそうとの情報があった。 十数年前の PC メーカーみたいなことしているのだろうか。 さすがにここで心が折れた。この iPod はゴミになったんだとすっぱり諦めた。 その日は珍しく他にも不愉快なことがあり、 ふと我に返るとブルーになったりしたのだけど……。

とかいって、実はこの iPod ひとまず復活してしまった。 続きはまた時間があれば。ふぅ。

追記: この続きは 「iPod 復活 ―診断モードで HDD SCAN」に書いた。 (2006/6/1 0:41)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Friday, 19 May 2006 16:44

■インストール

サーバは mt-daapd project から、 deb パッケージをダウンロードしてインストール。 設定は mp3_dir を指定するだけでもよい。 場合によっては art_filename ぐらいは指定しても面白い。 楽曲ファイルと同じディレクトリにアルバムジャケット画像があれば、 楽曲ファイル転送時に動的に ID3 v2 タグにその画像を付け加えてくれる。 iTunes ならその画像を利用できる。

クライアントには rhythmbox と avahi-daemon を apt-get install する。 これで Debian でもサーバ上の楽曲ファイルを利用できる。 ただ、esd を利用している私の環境ではデフォルトでは rhythmbox の音が鳴らなかった。 gconf エディタで /system/gstreamer0.10/default/audiosink に esdsink を設定する必要があった。

■ID3 タグの日本語データ

タグ情報に Shift-JIS を使っていると、daap クライアント上では文字化けする。 サーバにパッチを当てる方法もあるが、Shift-JIS はもう今更だろう。 私はこれを機会に UTF-8 を使うようにした。

タグのコード変更には EasyTAG を利用した。ただ、Debian の場合、libid3tag0 のバグゆえに Unicode がうまく扱えないとのこと。 libid3tag0 にパッチを当て再構築ならびにインストールしておく。

そして「設定」→「ID3 タグの設定」で常に Unicode 文字セットを使用するように、また ID3 タグの読み込み・ 書き込みの際の文字コードを指定しておく。 あとは適当にタグ情報を読込み、改変、保存すれば、文字コードの変換も 行なわれる。メニューから「参照」→「サブフォルダを参照する」にチェックを入 れておけば少し楽できる。

これで iTunes でも Rhythmbox でも日本語のタグ情報がちゃんと表示される。 daap サーバの再起動はお忘れなく。

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Date: Thursday, 13 Apr 2006 15:38

■アテンション・マネージャ対応

OS4 以降のデバイス向けに アテンション・マネージャへ の対応を行なった。 これに伴い OS4 以降のデバイスについては、 LED 通知やバイブレーション通知をサポートし、 アラーム画面を自動で閉じる機能や アラーム時のバックライト点灯といった機能を外した。

■アプリケーション名の修正

ここで配布していた版では、 アプリケーション名がオリジナルと違っていてしまった (BigClock と bigclock)。 そのため、オリジナルがインストールされていると、BigClock が二重にインストー ルされてしまう問題があった。今回の新しい版ではアプリケーション名をオリジナルと同じにし た。ただ今度は、ここで配布していた版が既にインストールされている場合に、 BigClock が二重にインストールされてしまう。この場合は一旦 アンインストールを行なっていただきたい。

■日時指定付きタイマー

日時指定付きタイマーの表示がハイレゾモードでずれるバグを修正した。 最近までこの機能を知らなかったために残っていたバグだが、 この機能はなかなか便利だ。 特定の日時を設定しておきタイマーをスタートすると、 その日時以前ならその日時までのカウントダウンを行ない、 その日時を過ぎているとその日時からのストップウォッチ動作を行なう。 特定の日時までのカウントダウンタイマーとしても使えるし、 タイマーをスタートさせたい時間が既に決まっているようならば、 その時間を待ってタイマーをスタートさせたりする面倒が省ける。

■ライセンスとダウンロード

ライセンスはオリジナルに基づき GPL。完全無保証。

オリジナルソースbigclock_src_2.83.tar.gz
改変ソースbigclock_src_2.83c-ye4.tar.gz
パッチbigclock_ye4.patch
バイナリ (日本語版) bigclock-ja_ye4.prc (新版をどうぞ)
バイナリ (English) bigclock-en_ye4.prc

公開はかなり先になるだろうが、 次バージョンでは MIDI への対応やカレンダーのカラー表示への対応などを予定している。

追記: バグの修正ならびに細かな機能強化を施した新版を公開した。 (2006/5/29 19:15)

Author: "yendo" Tags: "computer"
Send by mail Print  Save  Delicious 
Next page
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader