階層型メモ・アプリケーションArrangeNoteはJScriptやVBScriptをスクリプト言語として採用している。レジストリを操作すれば、他のActiveX Scriptの使用も可能である。私の場合、次のように設定している。
スクリプト言語 | 名前 | 種類 | データ |
---|---|---|---|
ActivePerl | .pls | REG_SZ | PerlScript |
Python2.1 | .pys | REG_SZ | Python |
ActiveScriptRuby | .rb | REG_SZ | RubyScript |
スクリプト言語 | スクリプト |
---|---|
Perl | $ANScript->Message( "Hello world!" ); |
Python | ANScript.Message( "ハローワールド!" ) |
Ruby | ANScript.Message( "ハローワールド!" ) |
山本幸一さんの「IUnknown」BBSでチュートリアルが始まったので、少しずつ勉強したいですね。最新版のPerlScriptエンジンは試してみたが(Perl5.6.1 build629)、相変わらず2バイト文字は通らないので注意。日本語は使えないということだ。Pythonのエンジンは2バイト文字が通ることを初めて確認したというか、PythonのActiveXスクリプトエンジンを使ったのも初めてだ。Rubyは当然問題なし。
CマガにVS.NETβ2のDVD-ROMが付いていたのでどんなものかやってみるかと始めると、DVD-ROMが読めない(^^;)REAL MagicのDVDプレーヤとしてはほぼ正常に動作していたけどね・・・LogitecのLDV-D1040AKなんだが、中身はPioneer DVD-114の型式。Logitecのサイトには既に情報がないのでPioneerのサイトから、dvd114_206up.zipのファームウェア・アップグレード用ファイルをもらってくる。これはDOSで動かすプログラムなのでW2Kでは動かない。Win98を起動してMS-DOSモードで再起動して実行。こういうことがあるから、Win98も消せない。DVD-ROMはセカンダリー・スレーブに繋がっているので、オプションに/3を指定する。失敗すると動かなくなると注意事項が赤文字で警告してある。心臓に悪いが思い切って実行・・・・・あっさりと成功(^^)って、VS.NETの話がなかなか出てこない。実を言うとインストールの最初の段階でキャンセル。いろいろと警告が出るし現在の環境が壊れるのが怖い・・・HDDの空き領域が足りなくてインストールできない可能性が極めて高いこともある。SCSIには10GBでも余裕があるがW2Kインストールドライブには数100MB程度しか残っていないからだ。インストールには1.3GB程度必要らしい。おそらくOSインストールドライブに置くファイルが結構あるはず。まあ、DVD-ROMが読めるようになったことで目出度し目出度し(^^;)DVD-ROMって初めて手にしたね・・・
下手な訳だがPerl6が何たるかを理解するためには多少の役に立つかもしれない。Perl6は新しいプログラミングの枠組みを作る野心的な試みである。.NETよりも凄いインパクトを持つだろう。というよりは、CLR+C#よりはというべきか?
Perl6はPerlプログラミング言語の次のバージョンである。そのプロジェクト はインタープリタ、言語、そしてその文化に話し掛けるように試みる。バージョ ン5のインタープリタの内部は縺れ過ぎていてメンテナンスを妨げ、新しい機能 を持たせる努力を遮り、潜在的な内部のハッカーを追い払っている。バージョン 5の言語はインタープリタやPerlで書かれたプログラムのメンテナンスを進める ことが困難な良くない仕様を持っている。そして最後に、Perlコミュニティ全体 はPerl6のデザインと実装に参加するように促されている。 「Perl5はPerlの私のリライトだった。私はPerl6がPerlのコミュニティのリラ イトであり、コミュニティのPerl6であることを欲している。」--Larry Wall, 「タマネギの状態」スピーチ, TPC4 Perl6のビジョンはPerl5の単純なリライト以上のものである。コンパイルやラ ンタイムからパーシングを分離することにより、複数の言語が協調して働くドア を開けようとしている。あなたはプログラムをPerl6で、あるいはPerl5、さもな ければパーサーがある他のいかなる言語でも書くことができるようになるだろう。 可変なランタイムエンジンはバイトコードを翻訳するか、それを他の何か、例え ば、Java、C、に変換し、あるいはPerlに書き戻すことさえするだろう。
Cygwin環境でのmonoのインストールにはGLIBが必要だが、ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gzはmakeできない。Cygwin用のglibを___GNOME on CYGWIN___からもらってこよう。 libiconv-1.6.1-cygwin-shared-bin.tar.gzとglib-1.2.10-cygwin-shared-bin.tar.gzをインストールする。そうすればGLIBがないとは言われない。monoは0.7をインストールするが、runtimeはこれでコンパイルできる。C#のコンパイラやクラスライブラリのmakeには.NET フレームワークSDKが必要なようだ。残念ながらここでストップ(^^;)もう少し高速なPCが必要だろうからね・・・PS2 Linuxでも0.7からruntimeはインストール可能となったが、コンパイラ等は現時点、Unixではmakeできないらしい。うーむ、どんなものかSDKを入れるか、monoは当面置いといてPerl6を追いかけるか(^^;)
随分以前にリンクを張ったのだが、もう一度読み直してみよう。What every Perl programmer needs to know about .NETの著者はPerl6のプロジェクトマネージャNathan Torkingtonだ。この文章の最後にある欄のリンクには既に存在したCLR、すなわちJVM上で動く言語のリストがある。JVMは実在するYet another CLRである。Perl6はPreferred CLRということになるか?
Perl6のアーキテクチャにある図
Source Code +------------+ | The Parser | +------------+ Syntax Tree +--------------+ | The Compiler | +--------------+ Byte Code +--------------------+ | Bytecode Optimizer | +--------------------+ Better Byte Code +---------+ | Runtime | +---------+
このRuntime EngineのコードネームがParrotだ。ParserやCompilerはPerl5で書かれている。コンパイラを変えて、JVMや.NETのCLR、Monoのruntimeで動くbytecodeを生成させる可能性もある。
1.3.3はかなり問題のあるリリースらしい(^^;)早速、Cygwin Nightly Snapshotsから、最新版のcygwin1-20010914.dll.bz2、cygwin-inst-20010914.tar.bz2をもらってインストールした。MonoをCygwinにインストールするためには、GLIBをインストールする必要がある。このGLIBのmakeでエラーが出る。結局最新のスナップショットでもそれは変わらなかった。
Simon Cozensのエイプリルフール、Parrotが現実に。Perl6の前触れとして、ParrotやJako(オウムの一種)が登場。Parrot Assembly Codeをbytecodeにコンパイル、バイトコード・インタプリタで実行できる。Parrotは一種の仮想マシンでJavaに似ている。JakoはParrot Assembly Codeにコンパイルできる最初のミニ高級言語である。コンパイラはすべてPerl5スクリプトだ。PythonやRuby用のコンパイラを書けば、同様にParrotで実行できるということになる。各種のプラットフォームでParrotやPerl6が動き出すと、コンパイラさえあれば各種の言語でWrite once,run anywhere.というJavaの宣伝文句が現実となる。GUIを含めたプラットフォームを目指すとなると、Tcl/Tkを取り込む必要が出てくるだろう。その基盤となる組織はActiveState・・・既に三つ揃っている。Perl、Python、Tcl/Tk。いずれも既にWindowsとUnixの両方で動く。まだ、道は長そうだけど、大変興味深い展開がありそうだ。
同時多発テロの犠牲者の冥福を祈りつつ、気を取り直して再開します。新しいCygwin DLLが出ました。早速インストール。KDE/XFree86等も元のまま問題なく動きます。Parrot-0.0.1もうまくコンパイルできました。1.3.2ではなぜかうまくgccが動かなかった(^^;)xwinclip.exeもインストール。セレクションをクリップしてWindowsにコピーできます。KDE上のエディタにWindowsのクリップを貼り付けることもできます。
コンピューティングどころではない・・・23:35
新しい?Window Managerだ。格好いいし、軽い。ウィンドウ操作はKDE並みの操作性。有望(^^)と思ったが本体のほうの開発は???、ツール類の開発は現在も活発に続いているようだ。メニューにはStarOffice、NetscapeやGimpもあるが、実際にはインストールされていない(^^;)Lesstifも入れて動かしたけど、これってウィンドウシステムなの・・・動かし方が悪いのか?それはそうと、XFree86も4.1.0にアップグレードするかな・・・確認すると今は4.0.3だ。
久しぶりの書籍購入記録。田中伸一著、ぐるーぷ・アレフ+ジャストシステム出版部編、「WevDAV入門」、ジャストシステム、2001年8月25日初版第1刷、239ページ、1600円。Perlの本でおもしろそうなのがいろいろ出ているが、万札が飛んでいきそうなのでしばらく自粛。Win32関係の本格的な書籍とPerlDBI入門だ。話は戻って、WebDAVって何?Web-based Distributed Authoring and Versioningの略だ。Webサーバー上でのコラボレーションの仕組み。下記の出力はArrangeNoteのテキスト出力。ハイパーリンクはまだ後付けだが(^^;)IEのアドレスからドラッグ&ドロップでタイトルとURLをメモっておいて、スクリプトでテキストやHTMLに出力できるのが便利。自分好みにするためにはJavaScriptをいじる必要がありそうだけど。そう言えば、1.1.4が出た。
【WebDAV】 ├cadaver - command-line WebDAV client ├WebDAV Resources ├PerlDAV ├Goliath A website management application for MacOS ├mod_dav a DAV module for Apache └neon HTTP and WebDAV client library
久しぶりにPS2 Linuxを起動した。Windows上のGimpは1.2.0なんだけど、使えるフォントが少ないみたいなのでPS2 Linux上にGimpをインストールして使ってみようと・・・最新のThe Gimpは1.2.2。後で調べると既にインストールされているものは1.1.24で1.2のプレリリース版だった。gimp-1.2.2.tar.bz2をもらってきて、コンパイルしてみた。
# bzip2 -dc gimp-1.2.2.tar.bz2|tar xv # cd gimp-1.2.2 # ./configure # make # make install
コンパイルには1.5時間程度は要したと思う。その成果。Chancery 1というフォントを使ってみたかっただけなんだが・・・
日経Linux 5月号の講座「定番ソフトを使いこなそう!」にあった「エイリアンネオン」で加工した画像のまね(^^;)
ついでに、以前XFree86をインストールした時に入れたVTWMのデスクトップも紹介しておこう。
お馴染みのxeyesやxclockを起動しているが、KDEのディストリビューションと較べると寂しい感じだ。無論自前でいろいろインストールすればよいのだろうけど(^^;)画像はGimpを使って処理した。Windows上のGimpは2000-12-26が最新だが、画像に触っているとよく落ちるので困っていた。調べてみるとupdates-20001226-20001229.zipが出ている。これに置き換えると安心して使えるようになった。画面の取り込みはファイル→取り込み→画面取り込みで簡単に作業できる。何秒後の画面を保存するか指定できるので、Gimpのウィンドウの映りこみを避けることができる。実寸で保存した後、画像ウィンドウで右クリック、画像→拡大縮小で長さで1/4のサイズに縮小して保存している。素晴らしいツールだ。その他、Cygwin+Xにおける日本語環境の構築が既に試みられている。一通り試してみたが、私の場合は設定が悪いのかうまくいかない。Xvncの表示も少しおかしいし、行頭の表示が2桁欠けるみたい・・・libX11.dllとXwin.exeにパッチが当たっているが、そのままではKDEは立ち上がらなくなる。是非KDE環境での日本語化を期待したい。
Windows2000上のVTWM on Cygwin(2)
余り寂しいので、xfontselを起動して、gnuplotでsineカーブを描いてみた。日本語キーボードの配列についてはxmodmapでキーボードのキー配列を指定できることがわかった。これについては、Cygwin 環境の構築:X11を動かすを参照。起動ファイルに書いておくとよい。xmodmap $HOME/.Xmodmapとか・・・大変便利になった。
新しい動きはないかとCygwin/XFree86のページを見ていると、KDE on Cygwinがある。出たのは7/23、最近だ。時折眺めてたのだけど見落としていたかな(^^;)早速インストール。インストール自体はcygwinのsetup.exeを使うので簡単だ。ダウンロードするファイルはトータルで13.6MB。問題はどのようにして起動するか。まずは、installation instructions に従って、/tmp/profileの書き換えとX関係のスタートアップファイルのHOMEディレクトリへのコピーを実施。time zoneの設定は何もしなくても大丈夫。現行の.xinitrcなどはバックアップを取って置く。startkde1.batそのままでは動かないので、次のように書き換えて、xterm上にbashを起動する。私の場合、CygwinはJ:\Cygwinにインストール、HOMEディレクトリはD:\homeになっている。
@echo off J: chdir \cygwin\usr\local\kde1\bin SET DISPLAY=127.0.0.1:0.0 SET PATH=%PATH%;\cygwin\usr\X11R6\bin;\cygwin\bin;\cygwin\usr\bin SET PATH=%PATH%;\cygwin\usr\local\kde1\bin;\cygwin\usr\local\lib\qt1\bin if "%OS%" == "Windows_NT" start XWin -screen 0 1024x768x16 -whitepixel 255 -blackpixel 0 -fp /usr/X11R6/lib/X11/fonts/misc/:/usr/X11R6/lib/X11/fonts/Speedo/:/usr/X11R6/lib/X11/fonts/Type1/:/usr/X11R6/lib/X11/fonts/75dpi/:/usr/X11R6/lib/X11/fonts/100dpi/:/usr/X11R6/lib/X11/fonts/japanese/ if "%OS%" == "" start XWin95 -screen 0 1024x768x16 -whitepixel 255 -blackpixel 0 start /B xterm -sl 1000 -sb -rightbar -ms red -fg yellow -bg black -e bash
それから、おもむろに./startkdeと起動すると、Windows上にKDEのデスクトップが出現した。
bash-2.05$ ./startkde ./startkde: ipc-daemon is already running kpanel: waiting for windowmanager KSocket::connect() connect(sock=5 unix_addr,..) = 441652964 errno = -1 QSocketNotifier: Invalid socket specified QSocketNotifier: Internal error Could not read '/tmp/kfm-cache-500/index.txt' kpanel: ok, commencing initialization
まだ、socket関係のエラーが出ているけど、KFMから簡単にインターネットにアクセスできた。問題はキーボードと日本語入力・表示だ。cmd.exeの出力として、Failed to open input methodと表示されている。上のbashの出力は、xtermのセレクションをエディタに貼り付けてファイルに出力したものを使った。CygwinがWindows上の本格的なUnix環境として普及する日はいよいよ近いのではと感じさせる。誰か、日本語環境を作ってくれないかな(^^)キーボードや言語等の設定もKDEデスクトップ上で可能なようだが、キーボードは日本語キーボードの選択肢がない。言語は日本語を設定すると文字化けして慌ててしまう。フォントも日本語の選択肢が出てこない。日本語が使えないという問題はあるが、KDE on Cygwinはファーストβリリースとはいえ、本格的なディストリビューションであり、ゲーム等のアプリケーションもインストールされているのでかなり楽しめる。PentiumU266MHz+96MBのシステムで十分動作する。って、遅いけどね(^^;)
「Project Heavy Moon」と「Cygwinを使う。」のURLが変更になっている。