Archive for 6月, 2009

R.I.P 2 Michael Jacksons

これで世界は2人の偉大なマイケル・ジャクソンを失ってしまいました。

1人はもちろん歌手のマイケル・ジャクソン。とはいっても全盛期のリアルタイム世代ではないし、周りでも関心薄いです。

自分も奇行がニュースになる人としか思ってなかったんですよね。なんかセンスもズレてるし。

でも、ラジオなどで偶然に近年の作品の中にいくつか良い曲があることを発見して驚いてしまったわけです。

それに、ヒップホップ聴いててもバックトラックのサンプリングネタの方がつい気になってしまう草食系男子なんで 、マイケルの昔の曲に突き当たるわけです。

で、これが非常に良いので腰を抜かすくらい驚きました。ほんとまさにポップスター。心のなかでマイケルに謝まるとともに、食わず嫌いを反省しましたよ。

とはいいつつ、未だ「スリラー」以降の作品きちんとチェックしていませんけど。

そんな自分が言うのもなんですが、今までマイケルの曲をまともに聴いたことない人や、マイケル=「スリラー」の人も昔の曲をぜひ聴いてもらいたいです。

なんというか、こうしてみると先入観とのギャップが原因で、自分は一種のストックホルム症候群に陥ったのかも。

そして一昨年に亡くなったもう1人のマイケル・ジャクソン。

Beer Hunter の異名を持つ世界的なビール評論家なんですが・・・、名前を知ってる人は彼の本も読んでるけど、知らない人は全然知らないって感じでしょうか。

自分も彼の著作を読んだことがあっただけですけど、歌手のマイケルの場合と同様に、自分が持ってたビールに対する先入観が改められました。

本日は今年最高の気温になりましたが、2人の偉大なマイケル・ジャクソンに哀悼の意を込めて、1年以上冷蔵庫に入れっぱなしで忘れていたベアード・ビールの「Snow Storm Strong Dark Ale」を空けることに。

snow storm strong dark ale

コメントする

R.I.P. Michael Jackson

In 2001, listening to Gilles Peterson’s radio program, I wondered why Michael Jackson’s new song was included in its playlist. 😕

I really liked his early tracks from jackson5 to first six solo albums(“Got to be there” – “Off the Wall”), which had been played, complied and sampled by DJs many times, but I did not have any interests with his later works, and he was already just a weird old guy for me..... until right before the listed song “Heaven Can Wait” began to play on the radio.

This track “Butterflies” from the same album is also nice.

Great and Classics! (composed by stevie wonder, carol bayer sager)

コメントする

Gallium3Dって何?#2

前の投稿で Gallium3D について調べましたが、何のことやらさっぱり分かりません。
大いに間違ってる可能性があると前置きしつつ Gallium3D について自分の理解を整理したブログ書き込みを見つけたので読んでみると、

  • Gallium3D はドライバとアプリケーションやライブラリとの間に立つ非常に汎用的な抽象レイヤ。
  • 現在ドライバに実装されている数多くの機能が Gallium3D などの方で提供されるようになるため、ドライバの開発が簡単になる。
  • Gallium3D はソフトウェア・グラフィックカードのように振る舞う。
  • 実際のハードウェアに酷似していて、なおかつ Low Level Virtual Machine (LLVM) システムを使用するので、実行速度はそれほど落ちない。
  • Gallium3D はソフトウェアなので、Gallium3D と対話するどのハードウェア上でも必要なドライバさえあれば実行可能。Gallium3D と対話するような OpenGL ライブラリを書けば、同じようにハードウェアを問わず実行可能。
  • ライブラリは Gallium3D のステート・トラッカーに向けて書きさえすればよく、簡単になる。
  • アプリケーション開発者も、グラフィックカードに関わらずアクセラレーションを当てにできるような独自ライブラリをアプリ専用に書くことができる。

といった感じ。
原文には LLVM に関する説明もあり。

  • LLVM はコード実行時に実行に必要な次の部分だけリアルタイムかつ最適化してコンパイルするJIT(ジャスト・イン・タイム)コンパイラー機能を持っている。
  • コードがコンパイルされるのでスクリプトよりも実行速度が速いのはもちろん、ユーザーの環境に最適化されるので、普通のバイナリ・コードより速い。
  • LLVM には仮想マシン機能もあるので、JIT コンパイルの他、コードを直接 LLVM に流しその内部で実行させることも可能。

で、思ったんですが、なんだか Mac OS に実装されてる機能に似たものなのかなぁと。

新Mac OS X「Snow Leopard」を徹底解剖 「write once run anywhere」の思想

CoreImageは、Mac OSX上でGPUに依存しない共通のAPIを提供し、アプリケーションが「gslang」で記述されたフィルターを実行する際、メーカーが異なる各種GPUのシェーダのコードにコンパイル/最適化した上で送付している(なお、このCoreImage のコードの最適化にはオープンソースのコンパイラである「LLVM」を利用している)。

Core Imageで体験 – Mac OS Xの高速画像処理

このようなミドルレイヤを導入する目的は、アプリケーションのためにAPIを提供する事と、ハードウェアの違いを吸収するためだ。

コメントする

ちょっと試した Ubuntu One

登録したこと自体すっかり忘れかけていた Ubuntu One の利用可能を知らせるメールが突然届きました。😀

しばらくバグ取りなどに専念して招待を一時停止してたらしいですけど、最近になって再開して、1日に 500人程度のペースで Waiting List に載っている人を追加しているとのことなので、これから続々と招待メールが届いていくんだと思います。

で、とりあえず無料2ギガコースを選択。

無料コースは90日間ファイルアクセスないとデータ消えちゃうかもよ、とか、有料コースの契約は自動更新なんで解約は自分から申し込まないとダメだぞ、といった条件に同意してクライアント・プログラムをインストール。

クライアント側のプログラムは jaunty 以降のみの対応みたい。機能的にはまだ DropBox などには及ばず。転送時はもちろん暗号化されているけれど、ファイルを暗号化した上で保管する機能はこれからみたい。

Canonical は Ubuntu 用のクライアントだけ用意して、他プラットフォーム向けはサードパーティにおまかせ、という感じでいくみたいですね。

現時点ではブラウザからならプラットフォームを問わずファイルのアップやダウンだけは出来ますけど。

参考記事 :

http://arstechnica.com/open-source/news/2009/05/hands-on-canonical-aims-for-the-cloud-with-new-ubuntu-one.ars

https://wiki.ubuntu.com/UbuntuOne

インストール直後の初回時は メインメニュー → インターネット → Ubuntu One  で ubuntuone-client-applet を起動。

このクライアント・アプレットは Gnome セッションの「自動起動するアプリ」に自動登録されます。

ubuntuone-applet

プロセスを見ると、このアプレットの他に Ubuntu One クライアントの実体である ubuntuone-syncdaemon が動いています。

このデーモンは Nautilus Extention から呼び出されて起動するらしくて、このデーモンの自動起動を止めるのは難しく、Nautilus 起動後にこのデーモンのプロセスを一旦終了させるコマンド/スクリプトをログイン時に自動実行させる必要があるという感じ。でも Ubuntu One フォルダを Nautilus から開いたりすれば勝手にデーモンが起動しちゃいます。

ubuntuone-processes

また、Ubuntu One クライアントをインストールすると、ユーザーの home ディレクトリに Ubuntu One を親にした My FilesShared With Me という2つのサブフォルダが自動作成されます。

ubuntuone-folders

My Files はバックアップや他のアカウントと共有したい自分のファイルやフォルダを置く場所。Ubuntu One に接続していれば、このフォルダ内でのファイル/サブフォルダの作成・編集・削除が Ubuntu One サーバ側と同期されます。

Shared With Me は自分に共有されている他アカウントのファイル等が同期されて保管される場所。このフォルダのパーミッションは 555 になっていてアクセスのみになっています。

この辺りのコントロールもまだ融通が効かない感じ。

Web インターフェイスはこんな風。BETA の字が踊っています。😛

ubuntuone-web-interface

コメントする

オープンソースの手書き文字入力ソフトウェア

いくつかオープンソースの手書き文字入力ソフトをいじってみたんですけど、結論から言うと、それぞれ一長一短あって、それらの長所を全部合わせると、それなりに使えそうなソフトが丁度出来上がるのではないかという歯痒い印象を受けました。

やはり電子辞書とか Windows とか市販品はさすが。認識を受け付ける「字形」も手書きに合わせてあるというか。

例えば「白」という漢字。最初の一画目は左斜め下に向かって書くのが普通ですけど、Tomoe のデータは元となっているフォントが悪いのか、垂直に降ろすように書かないと正しく認識されない。

Ubuntu も色々なプラットフォームに進出していて、欧米の人だとオープンソースで結構使えるツールが揃ってきてますけど。

日本語向けに Linux 用タブレット ATOK みたいなのが市販されて欲しいかな。

1. Tomoe

http://tomoe.sourceforge.jp/cgi-bin/ja/blog/index.rb

これは SCIM のアイコンの右クリックメニューにある「手書き認識」から利用できるもの。

長所は、漢字ストロークモデルが備わっていることや、漢字の読みを調べられること、Stroke-Editor というプログラムを利用して漢字モデルの再編集ができそうなこと。

短所は、1文字ずつの入力にしか対応していないことと、アルファベット等の文字のモデルがなさそうなこと。なのでキーボード代わりの文字入力には使えない。

2. Tegaki Project

http://tegaki.sourceforge.net/ http://www.tegaki.org/

Zinnia オンライン手書き文字認識エンジンを利用するデスクトップ向けのソフト。

漢字ストロークモデルは Tomoe のものをコンバートして利用してるみたいです。

まだ開発は始まって間もないようでマイナーな感じですけど、karmic koala の公式リポジトリにパッケージがすでに存在します(日本語漢字ストロークモデル除く)。

また、intrepid および jaunty 向けのパッケージはこちらの PPA にあります(こちらには日本語漢字モデル有り)。

ただ、自分が試した限りでは他のプログラム上のカーソル位置に直接文字を入力するってことができなさそうなんですよね。まだ実装されてないのか、自分の設定が悪いのか、それとも tegaki のウィンドウ上の入力文字列をコピペして利用しろっていう仕様でいくつもりなのか。

訂正SCIM のアイコンやパネルから Tegaki を選択して呼び出すことができ、テキストエディタ等のカーソル位置に文字を入力することもできました。

tegaki-menu

長所は、漢字ストロークモデルがあらかじめ備わっていることや、多くの文字を一度に入力していくのが Tomoe よりできそうなところ。

短所は、読みが調べたり、プリセットの漢字モデルを再編集する機能が現時点では備わっていないことや、アルファベット等の他の言語のモデルがないこと。

3. CellWriter

http://risujin.org/cellwriter/

オープンソース界に彗星のように現れた手書き文字入力ソフト。 😯

Ubuntu Netbook Remix にも標準インストール。

Windows Vista や Windows 7 の手書き入力パネルに近いインターフェイスをしていて、文字を書いてどんどん入力していくことができます! 😀

・・・ただ、アルファベットやひらがな、カタカナなど文字の種類が少ないものでないと事実上利用することはできません。😐

CellWriter は、文字のストローク情報というのが備わっていなくて、使用を開始する前に文字を手で書いて学習させる作業が必要なわけです。

アルファベットならそういう作業はすぐに終わってしまいますが、漢字は当たり前ですが普通に使用するだけでも何千とあるのでこりゃ無理かなと。

しかし、Tegaki Project も Tomoe の漢字モデルのデータを流用してるわけですから、データを CellWriter 用にコンバート出来さえすればなんとかなるんではと自分のような一般素人は考えてしまいます。

開発者のホームページにある論文 pdf の Asian Languages の項を見ると、javeDict の漢字データを利用するアプローチが言及されていたので、ひょっとしたらと思い開発者の方に問い合わせてみたんですが、実際にそれは試していなくてあくまで論理的な話、もちろん Tomoe のデータをハックしてコンバートし導入することは可能だろうけど、という回答。

覚えさせた文字に関しては認識して、この様に漢字もひらがなも書いていけるんですが、

cellwirter-input-panel

トレーニング画面には膨大な漢字があるわけです。残念。😦

cellwriter-train-mode

Comments (2)

Linux マルチタッチ#2 真のマルチタッチとは

前回投稿は、Linux カーネルに MT インターフェイスが取り込まれたニュースについてでしたが、例えば KDE 開発元もマルチタッチを模索してちょっとしたデモしてたりするようです。Hutterer 氏が示してたマルチタッチのイベントの流れに当てはめれば Qt はツールキット辺りになるのかな?

あと、マルチタッチについて調べてると blob(s) っていう言葉を目にするんですけど、「染み」っていう意味らしくて、タッチしてる部分とそうでない部分でコントラストを付けるとタッチ部分がそのように見えるのが由来みたいですね。

で、今回はマルチタッチとマルチポイントの違いについての Hutterer 氏による説明。ちょうど1年くらい前の短い投稿文です。

点で捉えるだけのタッチでもマルチタッチと言うのならすでに MPX で可能な状態で、あとはアプリの対応次第ということでしょうか。

しかし氏にいわせるとそれは本当のマルチタッチではない、とのこと。


原文: http://wearables.unisa.edu.au/mpx/?q=node/147

Multi-touch? or multi-point?

MPX(マルチポインターX)でマルチタッチが可能になるのかどうか質問されることが増えてきた。

答えはイエスでもなくノーでもない。

マルチタッチの構成について少し混乱があるようだ。質問に単純に答えれば「複数のタッチポイントを扱う」なのだが、実際はそう単純ではない。

「タッチ」とは一体何なのだろうか?

ユーザーインターフェイスにおいて、それは通常、感応面をタッチしてオブジェクトの操作が可能なことを意味する。

これは間接的(ラップトップ上のタッチパッド)または直接的(タッチ画面)に行うことが可能だ。

X サーバにとって、それが直接的な操作または間接的な操作のどちらであるかというのは意味をなさず、タッチデバイスが提供するデータこそが重要になる。

多くのデバイスは、そのタッチポイントを単純な x/y 座標にまで落とし込む。(例えば、Wacom タブレットや公共の場所にある大抵のタッチ画面、自分が知る限り iPhone さえも基本的にそうだ。注:例外はある。圧力情報を提供するものもあれば、Wacom タブレットは傾き等々の情報を提供)

X サーバから見ると、マウスとそれらタッチデバイスとの間に違いは全く存在しない。

MPX というのはマルチポイントだ。

ようするに、使用しているデバイスが複数のタッチポイントに対応していたり、そうしたデバイスが複数あるのならば、もうそれらがすでに利用できる状態にあるということだ。それらを使えばいいし、そうしたデバイス向けのソフトウェアを書けばいい。

しかし、実はここに大きな相違点が存在する。デバイスのなかには1つの点よりむしろ、タッチ領域の検知が可能なものがある。

ここが興味深いところで、それはなぜかというと、これがジェスチャーを可能にするからだ。

手の平でのタッチが、手の横とは違うし親指や他の指とも異なる。これこそが真の「タッチ対応」であり、そしてまだ全く一般的なものではない。

真のマルチタッチに対応する有名な例の1つは、MS Surface だ。

MPX はマルチタッチを行うわけではない。

しかし、マルチポイントが一番厄介なものであり、(マルチポイントさえ実装すれば)マルチタッチはかなり簡単だということが分かっている。(注:技術的な視点からの話であって、意味的に正しく働かせるのは相当大変である。)

そこまでくると、クライアントにその情報を渡してやる必要性というのが唯一の相違点になる。

X サーバはそうしたデータを送るための適切なイベントというものを持っていないが、昨年に自分は数週間かけてその辺りに手をつけてみた

その結果というのが BlobEvents なのだが、主に時間が取れないために、それとき以来そのブランチにあまり更新はない。

現在の master にマージして全体を整理し公にレビューさせるための時間が取れさえすれば、この blob ブランチは復活するだろう。

だが今のところはマルチポイントであって、マルチタッチではない。

コメントする

Linux マルチタッチ

まだ本格的に使えるようになったわけではないようなので、あまり話題になってないようですが、Linux がネイティブでマルチタッチのサポートを始めたというニュース。
Native Multi-Touch Support On Linux

マルチタッチのイベントのインターフェイスがすでにカーネル 2.6.30 に含まれていて、MT 対応の N-trig 用ドライバが linux-next git ツリーにある状態、Stantum や DiamondTouch 用ドライバは何とか 2.6.31 に間に合うように近い内に投稿したいとのこと。

デモでは Kwin のデスクトップ回転、Compiz の水効果プラグイン、Freewin プラグインを使用してます。

デモのソースをチラっと見たら、Kwin の特殊効果も Dbus 使って外部から利用できるみたいですね。

Ubuntu 9.10 Karmic Koala では X Input 2 / MPX(マルチポインターX) 実装の X サーバ 1.7 / X.Org 7.5 が予定されてることは前に書きましたが、その中心的な開発者の Peter Hutterer 氏がこのマルチタッチ・サポートに関してコメントしていたので、翻訳してみました。一般的に使えるようになるのは来年ということになるんでしょうか。

最近タッチだの直感だのとかまびすしいですけど、個人的には機能の進化と同じくらい指紋や油でベトベトになるのも何とかしてもらいたいかな。油取り紙先進国の日本からその辺を解決するブレイクスルーが生まれて欲しい。:D

あ、もちろん抗菌で。東京駅のエスカレーターの手すりも最近「抗菌」を謳ってますけど、ああいうのもたぶん日本くらいなのでは?それでもあまり掴まる人いないですけど。


原文: http://who-t.blogspot.com/2009/06/linux-multitouch-getting-somewhere.html

形になろうとしている linux マルチタッチ

自分は2年くらい前に少々マルチタッチに手をつけてみたけれど、低レベルの部分はハックで、特別なプロトコルを吐き出すカスタム仕様のカーネル・ドライバと、そのカーネル・ドライバ専用に書いた X ドライバ、そして X サーバーには新しい種類のイベント、というものだった。その新しいイベントというのはかなり興味深い部分だったが、時間が足らなくてほったらかしにせざるを得なかった。

そして今回、主に Henrik Rydberg のおかげで我々はマルチタッチ・プロトコルをカーネル 2.6.30 で持つに至った。
このプロトコルは evdev ドライバが使用するイベント・プロトコルをベースにしていて、経時的にマルチタッチ・ポイントを追跡する機能を加える。

また ENAC Interactive Computing Lab の Stephane Chatty が、この新しいマルチタッチ API を使用した数種類のデモを見せるリンクを送ってくれた。

これは何をもたらしたのか?

通常のマウスまたはキーボードのイベントは ハードウェア → カーネル → X ドライバ → X サーバ → ツールキット → アプリケーション という流れで基本的に伝わっていく。マルチタッチにとっては、低レベルの部分を今回配置したということになる。

上記のデモでは、このイベントの流れの式の X に当たる部分が欠けている。以前 blob ブランチ(訳注:たぶん MPX のブランチ)について言及したけれど、その復活作業を Bryan Goldstein が引き受けたので、少々の幸運があればそれを形にして現在の master に rebase し完成させていくことができるだろう。そうなればマルチタッチは完全にデスクトップに統合されて、スタックのあらゆる点で見られる特定ハードウェアに特化したハックに依存することはなくなる。

備考:すぐの実現は期待しないように。今のところ、こうした機能がリリースされるまでに8ヶ月を越えるくらいの期間を自分は見込んでいる。

コメントする

Older Posts »