2007-08-30[n年前へ]
■機械が生成するコトバ
風の吹くまま、気の向くままに、画像処理+Wikiプログラムを書く。今の風と気は、画像処理と高速化の方向に吹いている。画像を繋げる「画像Wiki」の部分は限られた人のコトバか、機械が生成するコトバに限定しよう。だから、明日の夜は、そんな「画像処理マクロ言語」を久しぶりに書いてみよう。
あちこち寄り道しながら歩いていても、しばらくして振り返るとそれなりの道になっていると信じて。
人生は気長な一筆書きだなぁ…。次の世界は…どんな感じなんでしょうね?
技術者の場合は、関係なんかいくら言ってもしょうがない。何か現実にある性能を発揮するものをつくって見せなきゃいけない。
次の点へと線を繋げていくと、いつの間にか一つの絵になっていく
2008-04-25[n年前へ]
2008-06-09[n年前へ]
■Photoshopプラグイン開発環境(PDLS)再び
Photoshopプラグイン開発環境 Photoshop DLL Linking System (PDLS) のページを(旧Pukiwiki)のファイルを元に書き直しました。PDFの説明ファイルの2004/08/07版はこちらになります。また、サンプルソース・バイナリファイルはこちらです。
AmetMultiのモットーは「ATOKから何でもできる」でしたが、PDLSのモットーは「Photoshopから(その人のレベルに応じて)何でもできる」でした。(Photoshopの規約は気にせず)Cを使ってネイティブ・プラグインを気軽に書くこともできれば、GUIを使った連続作業などで自動的にマクロ関数(プラグイン)をお手軽に作ることもできる。その人のレベルに応じて、ステップアップすることができるPhotoshopのプラグイン開発環境というわけです。
マクロ関数やネイティブ・プラグインを組み合わせれば、さらにカスタムプラグインを作ることもできます。また変数を使ったり演算や数式処理も使えて、NEWやDELETEといったマクロを使い、局所領域に対してだけ演算を行うこともできます。そして、マクロプラグインには自動的にGUIをかぶせることもできるのです(GUIコードを書かなくても、ダイアログで変数設定などを実行時にすることができる)。
また、表計算アプリとの連携や鳥瞰図表示のプラグインもついている……というテキトーな機能てんこ盛り、の環境です。Photoshop Elementなんかで使うこともできますので、画像処理で遊んでみたい人は一度使ってみても良いかもしれません。いつものように、SYSTEMコールもできるプラグインなので、つまりは何でもし放題のプラグイン環境です。使ったことのないPhotoshopユーザ(ないしはPhotoshopプラグイン互換の画像処理ソフトユーザ)は一度遊んでみると良いかもしれません。
2009-11-14[n年前へ]
■マクロを組んで消える「作業」
「マクロを組んで作業は「実力」ではない?」という記事を読み、さまざまな投稿が書きこまれてからも、なかなかここにメモすることができずにいました。なぜか、その記事に関して考えをまとめることができないこと、さらに、それがいわゆる「釣り記事」であることもあり、何とも書きようがないままでいます。特に、「作業」ということに関して「釣り記事」を書くということに対し、何とも書きようがない心持ちがして、何も書けないでいるような気がします。
「私たちにとって、パートさんたちにとって、仕事って何なんだろうね。この作業が自動化されたのをみて、パートさんは喜ぶんだろうか、悲しくなるんだろうか」としみじみとしてしまったのでした。
そして、今もまだ何も書けません。だから、その記事を読んだときに連想したこと、以前書いた記事「人を楽にする作業」をリンクしておこうと思います。
「ただの単純作業は機械に任せて、人間は人間のセンスが必要な作業へ進んでいくんだろうな」とはもちろん思う。ただ、そういう新たな作業へ移行していくことを喜ぶ人もいるだろうけれど、そんな移行を辛く感じる人もきっといるだろうと思う。色んな人がいるのだから、新しい作業に適応していく人もいるだろうし、そうでない人もいるだろうと思う。マクロを組んで消える「作業」がある、そこで生まれるものもあるだろうし、また同時に消えるものもあるのだろうか、と考える。
人間は、決してあきらめてはならない
「ロボット (R.U.R)」 カレル・チャペック
2010-01-22[n年前へ]
■Tera TermをRuby(や他の言語から)強引に操作する方法
「Tera Termマクロ活用入門(2):リモートマシンを自在に操作する」を読んだ。ちょうど、Tera Term のマクロ機能の使い方や、どのように使われているかを知りたかったところだったので、とても参考になった。
「Tera Term」はWindows 向けのターミナルエミュレータとして有名だが、マクロ機能を利用することでネットワーク経由でサーバーやネットワーク機器を自動制御するためのツールとしても利用できる。今回は、ネットワーク経由でLinuxサーバーを制御したり、Windowsのバッチファイルと連携させて使用する例を紹介しよう。
Tera Termの自動制御というと、「アプリケーション間を繋ぐRubyスクリプトを作るには?」で行ったテクニックを使っても、Tera Termを自動制御することができる。多量のテキストデータを高速にやりとりするような用途には使うことができないが、そうでない場合には、「アプリケーション間を繋ぐRubyスクリプトを作るには?」で書いた方法でRuby(や他の言語からも同様に)Tera Termを操作することができる。
Tera Termから、ログファイルを吐き出すようにしておいて(Fileメニュー→Logメニュー)、その内容を随時外部スクリプトから読み込んで、Tera Termを操作してやれば良い、という手順である。そうすれば、Tera Termの送受信内容に応じた動作をRuby(や他の言語)を使って行わせることができる。つまり、Tera termのマクロを自分が使い慣れているスクリプト言語などを使って書くことができる、というわけである。
「Tera Termのマクロではできそうにないこと」がある時には、そんな強引な外部言語を使った、強引マイウェイなTera Term操作(マクロ)テクニックもある。