2004-04-19[n年前へ]
■AmetMultiで世代いろいろ
Chicさんの「awk版も欲しいとかいいだしたり」とか、Futamiさんの「sedはむしり取った衣笠で意外にいそう」とか、otsuneさんの「これってzshの目指している方向を漢字変換で代用しているってことだよね」とかを読んで、何故か思い出したのは「UNIXにみる世代間の断絶」
2004-04-21[n年前へ]
■「ATOK Perlプラグイン(dos,ruby,awk,その他大勢)」のオマケが豪華に。
ATOKからテキスト・画像の操作が自由自在のATOK Perlプラグイン(dos,ruby,awk,その他大勢)をアップデートしました。サンプル・プログラムも「画像読み込み」「漢字アート」「アスキーアート」「美人フィルタ」「ブサイクフィルタ」等豊富に揃っています。各コマンドプログラムもオプション等を増やしました。また、デフォルトの設定ファイルをperl用でなく、DOSプロンプト用にしておきましたので、perl等を使わない方も楽チンです(ちょっともったいない使い方だとは思いますが)。
これを使えば、Windows標準添付のノートパッドが数式処理のMathematicaになったり、画像処理のPhotoshopになったり、エクセルになったり、…可能性は無限大(ちょっとウソ)です。ソフトをわざわざ切り替える世界なんて、不便ですよねぇ?漢字もプログラムの別名として使えるというのも結構面白いですよ。
2004-04-25[n年前へ]
■「辞書単語登録プログラミング」 面白一発芸 編
「文字」も「画像」も自由自在だぁー
Windows上で日本語を入力するためには、(Windowsに標準添付されているMS-IMEのような)IMEと呼ばれるソフトウェアを使わなければならない。前回、そんなIMEの一つであるジャストシステムのATOKから、さまざまなプログラムを呼び出すことのできるツール(AmetMulti)を作ってみた。ATOKから、(AMETと呼ばれる機能を使って)perlやawkといったコマンドライン上で動くプログラムを呼び出すことができるようにしてみたのである。
しかし、そんなツールの使用例として前回紹介したのは数式処理だったり、日時処理だったり、文章整形だったり、と少しばかり一般受けしない内容だったように思う。便利ではあるのだが、何だか内容が少しばかり地味であったように思う。だから、実際「ホラホラ、このツール便利でしょう?」と周囲の人に自慢してみても、デモをして見せた相手の人達の反応がどうにも良くなかったのである。
いや、面白がる人達もいるにはいるのだが、そんな人達は間違いなくATOKを使っていなかったり、そもそもWindowsを使っていないのである。マニアックなEmacs使いの変人であったりしたのである。
だから、Windowsを使っていて、Windows上でATOKを使っている人は数式処理や文章整形にはこれぽっちも興味を示さないし、そんな内容に興味を示す人はWindowsもATOKも使っていないし、というなんともイマイチの状態だったのである。そのため、私の「他人に自慢したいココロ」はちっとも満たされず、欲求不満の毎日だったわけである。
数式処理例 | 時間処理例 | 文章整形例 | |
入力 | print sin(3)/5 | ねんがっぴ じこく | ぎょうばんごう |
変換結果 | 0.028224001611 | 2004/4/12 0:18:16 | 0001: いろはにほへと 0002: ちりぬるをわか |
そこで、Windows上でATOKを使っているライト・ユーザー(偏見たっぷり)の興味を惹くために、そして私の「他人に自慢したいココロ」を満たすために、私はAmetMultiの機能を少しばかり(だけど見た目は大幅に)変えてみたのである。ATOK等の「IMEは文字入力をするためのもの」という先入観を捨てて、ATOKから画像を入出力することができるようにしたのである。つまり、文字を入力するとその文字に応じたプログラムが起動して、文字変換結果が画像となって出力されたりするようにしてみたのである。地味な数式処理や文章整形ではなくて、ド派手な画像でデモをすることにしたわけである。
例えば、それはこんな感じだ。ワードパッド上で、私の辞書設定で「仲間由紀恵」と入力(AMET)変換すると仲間由紀恵の画像が出力されるのである。理由は簡単、私の「(ATOKではなく、AmetMultiの)辞書」には「仲間由紀恵」という単語に対して、「仲間由紀恵」の画像を出力するプログラムが登録されているからである。「仲間由紀恵」という文字が示す内容が、(機能アップされた)ATOKによってそのまま画像となって出現するわけである。
そして、もちろんそれだけではなく、その後に「美人」なんて入力して(AMET)変換すると、アララビックリ美人化された仲間由紀恵の画像が出力されるのである。「仲間由紀恵」「美人化」という文字入力結果がこれまたそのまま、ワードパッドの文章上に「画像となって出現するのである。「辞書単語登録プログラミング」の思想の凄いところは、入力した文字を表すプログラムが呼ばれ、その結果単なる辞書変換では実現できない「単語を表す適切なもの」が出現するところにあるわけだ。今回の場合は、入力したユーザーの求めに応じて「美人化された仲間由紀恵」が何の苦労もなく出現するところなのである。
もちろん、今回のモデルは仲間由紀恵なので、「美人化」するまでもなく十分美人であるわけだが、もしも「美人化」をしてもまだまだ「改良の余地有り」のお顔であるような場合は、すかさずさらに「美人化」「美人化」と連打・変換すれば良いだけなのである。画像処理プログラムを意識して使うこともなく、普通のワープロ上でそんな作業がデキルのである。(また、使う用途はほとんど無いとは思うが、「不細工」と入力し変換すれば画像の「不細工化」もできる)
この右の例ではワードパッドを使ったが、もちろんATOKを使ってさえいれば良いのである。だから、それは別にMSWORDでもExcel上でも良いわけだ。単に画像を貼り付けることができるソフトウェアでありさえすれば、何でも良いのである。
しかも、だ。もしも、画像を貼り付けることができないソフトウェア上であれば、ただこう入力すれば良いのである。「漢字アート」と。すると、アラアラ不思議、すると画像が漢字のアスキーアートとなって変換されるのだ。もちろん、アルファベットで画像を出力したければ、「アスキーアート」と入力変換すれば良いだけである。そうすれば、純粋なアルファベットからなるアスキーアートとして仲間由紀恵が出力されるわけだ。そう、文字で入力した結果が「ある時は画像」で、「またある時は文字」で、文字と画像を自由自在・縦横無尽に変換しまくることができるのである。こんな機能があれば、例えばメールに自分の顔を文字で描いた署名を付けるなんていうのも簡単に行うことができたりするのである。もちろん、その際にはその顔文字を出力するルーチンを「署名」という単語としてでも登録しておけば楽になるだろう。
ところで、ここまではAmetMultiに標準添付されている機能(仲間由紀恵画像出力機能は標準添付ではないが)でできることを眺めてみた。しかし、便利に使うことができる色んなソフトを使えば、さらにAmetMultiの使い勝手はアップする。例えば、GnuPlotの機能を使えば、数式のグラフ出力がATOKを使って行うことができるようになったり、表をコピーしてその内容を自動でグラフに描画して変換出力することができたりする。
あるいは、WinGraphVizでも使えば、これまた面白いことができる。例えば、マンガ・アニメの「名探偵コナン」の登場人物達の関係を説明する
コナンは蘭を好きなんて文章を入力した上で、その内容をクリップ・ボードにコピーしてみよう。そして、例えば「関係」だなんて入力・変換すると、その三人(コナン・蘭・新一)の関係が図になって変換出力されるわけである。これは、マンガの登場人物の例だが、例えば入力する内容を職場の人間関係や恋の悩みに置き換えてみると、色んな面白いことができるわけである。曖昧模糊とした人間関係を豹変する言葉を入力・変換すると、その曖昧模糊とした関係が見事なまでに表現された図を手に入れたりすることができるわけである。
蘭は新一を好き
コナンは新一に戻れない
GnuPlotを使った例 | WinGraphVizを使った例 | |
入力語句 | 「sin(x)*sin(y/2)」のグラフ | コナンは蘭を好き 蘭は新一を好き コナンは新一に戻れない (上の文字を入力コピー後)関係 |
変換結果 |
AmetMutiやその他のツールによりパワーアップされたATOKを使えば、適当に入力した文字(数式)の内容が表現された様々な形の結果を得ることができる。「辞書単語プログラミング」により、文章の内容を「それを表現する適切な文字」のみならず「それを表現する適切な画像」に変換したりすることもできるようになったのである。「辞書単語登録プログラミング」の新たな世界を勝手に作ってみたわけなのである。
で、当然私は「他人に自慢したいココロ」を満たすために、周りの人に上のようなデモを色々としてみた。この面白一発芸風のデモを見せれば、必ずや「辞書単語登録プログラミングの面白さ」が伝わるに違いない、と信じてデモをしてみたわけである。前回の数式処理・時間処理・文章整形なんかのデモと違って、派手で面白さも伝わるに違いない、と考えて必死にデモをしてみたわけである。
しかし、結果は散々なものだった。「へぇ~、面白いね~、その漢字アートってぇ」 とか、「そー、そー、こんな人間関係とか、恋の悩みってあるよねー」「これって使えるかもー」という風に今度はそのサンプル・アプリケーションにばかり聴衆の興味は集中して、誰も「辞書単語登録プログラミング」に興味はこれっぽっちも持ってはくれなかったのである。誰も「辞書単語登録プログラミング」なんて言葉を口にすることもなく、私の「他人に自慢したいココロ」はやはり満たされぬままに終わってしまったのである。「辞書単語登録プログラミング」の新たな世界を開くハズが、単なる面白一発芸で終わってしまったのである。Windows上でATOKを使っているライト・ユーザー(偏見たっぷり)のココロを掴むのは実に難しいのである。
しかし、である。私はあきらめない。「辞書単語登録プログラミング」動画表示編(アスキーアートでパラパラ動画)や、「辞書単語登録プログラミング」エミュレータ編(ATOKからMS-IMEを使ってみよう編)など、できる限りの力を尽くし世間の役に立ちまくりのアプリケーションを作ることで、「辞書単語登録プログラミング」の可能性を広めていきたいと誓うのである(大ウソ)。一回作ったからには、放置プレイにしたりはしないと誓うのである(100%の確率で大ウソ)。
2006-04-13[n年前へ]
2009-12-13[n年前へ]
■各種言語からのThinkpadの加速度センサ値取得方法
ThinkpadなどノートPCでは、ハードディスクの衝撃回避のために、加速度センサを搭載していたりします。私を含め、Thinkpadの加速度センサ値を取得し、色々遊んでいる人は多いので、今回は「各種言語からのThinkpadの加速度センサ値取得方法」へのリンクを作ってみました。私の知っているものを並べただけですので、「おいおい、この言語版もあるぜ」という情報などをjun@hirax.netまで頂ければ、リストを更新しておこうと思います。
- C++: 「Thinkpad加速度センサ取得用C++クラスの手直しをしました」
- C: (C++版の)「Thinkpad加速度センサ取得用C++クラスの手直しをしました」からクラス・例外処理を除けば良いです
- Ruby: 「Ruby版 Thinkpad 加速度センサ類取得クラスを書きました」
- C#: 「C#でThinkpad加速度センサーの値をとる」
- Perl: 「X61 Tablet で加速度センサを使ったアプリが動かない件」
- Perl on Linux: 「Linux ThinkPad の振動検出を活用する」
- Python: 「Python で Thinkpad の傾きを取る」
- VisualBasic: 「Interfacing sensor.dll into VB」
- awk on Linux with hdaps: 「Linux で ThinkPad の加速度センサーを読む」