dullhikoのだるいブログ

殆ど日記のだるいブログ

FreePascalを拾ってみる。

2005年04月26日 | プログラミング
コンパイル時間ってトライ&エラーなアプローチでは本気で邪魔だね、ってところで。
D言語というのも惹かれるものがあったが、ふと思った。
「いや、コンパイルの速度で言ったらPascalが定評あるじゃん」
と。
でも、Delphiはいろいろな面であまり好きではない。オブジェクトが必ずTObjectの派生だったり…
今は違うんだろうか。まあ、気にしなけりゃどうでもいいことなんだが。
あと、Linuxへの移行を視野に入れているので、そっちじゃKylixという評判の悪くて先行き不透明な処理系しかないのも困りものだ。

んで、ふとフリーなPascalについてググってみた。
今まではフリーな処理系には関心がなく、Borlandばっかり見てたんだがフリーなPascalも結構歴史のあるものらしく、現在ではどうも、GNU PascalとFreePascalというのがあるらしい。そして、FreePascalの方が人が多いようだ。Win32版も簡単に入手できる。
寄らば大樹の陰ということでFreePascalを拾ってみた。
ちょっとサンプルをコンパイルしたところでは…うーん。イマイチわからん。速いようにも思うが…cppでもこの程度のサンプルなら高速にコンパイルできてしまうので。

つーかグチグチ悩むのもあほらしいな('A`)という当然の結論に達してしまうわけだが。

Inkspace+gimpでアイコンを作る

2005年04月20日 | お絵かき
恥ずかしながら、今までアイコンはビットマップなアイコンエディタでポチポチ押して作っていた。いわゆるドット絵である。
だが、どうも時代はベクターグラフィックソフトウェアでつやつやテカテカ、グラデも滑らかなアイコンが主流のようだ。
ということで遅ればせながら、Inkspaceを使用して現在製作中のtclの習作としての小型アプリのツールバーにアイコンを作ってみた。するとこれがすばらしく楽で、効率が全然違う。何より楽しい。まあ、アイコンって結局アニメ絵を単純にしたようなものだから、当然なんだが。
Win2KからかMeからかは知らないが、デスクトップアイコンのマスクもアルファブレンディング可能になっているのだが、tclでどうやればいいのかは今の俺にはまだわからないので (というか、できるのだろうか?) 、無難に透過色付きのgifで済ませた。
境界を縁取るのはgimpで行った。これもパスを使えば、割と簡単にできる。

と、フリーソフトだけで作業してみたが、特に問題なく作業が終了できたのはありがたい。まあもちろん、Inkspaceにはグラデ回りの初期設定操作がイマイチ煩雑で慣れを要するなど、まだまだ修正の余地があるのだが。versionが0.41という段階なのだから、それは贅沢と言うものだろう。


備忘録 Vimで特定行に印をつけるにはどうするか

2005年04月19日 | ソフトウェア
まだ思いつきの段階だが、デバッガ(のフロントエンド)を自作したらvimを統合環境みたく使えるんじゃないか…とか、思えてきた。まあすでにそれっぽいスクリプトはあったと思うのだが。
ヘルプを読むとSUNのデバッガには既に対応しているようなことが書いてある。

そこで、やはりブレークポイントや現在の行が見えないと使いづらいな、と。その辺はどうなっているのか。該当するデバッガも持ってないしなぁ。と思っていたわけだが。ちょいとヘルプを追ってみればその辺のことが書いてあった。

signコマンドだ。

vimでは、signコマンドで、自分の好きな行に好きなマークを設置して、好きな配色を指定することができるのだ。マークは画面左隅に行ごとに置ける。しかも、pixmapなアイコンも使用できるらしい…(Windows版ではどうなんだろうか。試すのもだるいので放置)

使い方は、ヘルプを読めば判るわけだが、とりあえず俺が理解した部分を備忘録として自分用に噛み砕いて書いておく。

まず、
sign define 名前 linehl=ハイライト名 text=マーク文字列
と言う感じで、まずサイン形式を登録する。

sign define s1 linehl=Visual text=>>

とすると、s1というサイン形式ができ、それは行自体がVisualブロックな配色で、>>というマークが左側に付くものである。
この時点では、まだ何も表示はされない。
実際に指定行にサインを置くには

sign place 0 line=30 name=s1 buffer=1

など、placeオプションを使う。
placeの直後の0はIDとのことだ。その他のオプションはまあ説明不要だろう。
実用的にはexeコマンドなどを併用し

exe "place 0 line=30 name=s1 buffer=" . bufnr("%")

とすれば、カレントバッファの30行目にs1スタイルなサインが表示されるわけだ。
ちなみに試したところ、IDが重複するサインを複数置ける。
そして、sign unplaceコマンドでは、同じIDならば、行番号が若い方から消えるようだ。よって、IDは重複しない方がいいんじゃないかなと思う。

ちなみにサインの位置にジャンプすることも可能らしく、なるほどデバッガとしても使える可能性を秘めた機能ではあると感心した。

tclのRamdebuggerでハマる

2005年04月18日 | プログラミング
tclの(って、別に専用じゃないが)Ramdebuggerで、プログラムを起動しても反応しないという現象に遭遇。
一体何なのか分からず焦るが、落ち着いてトレースしてみたら当たり前だがすぐわかった。
tkwait visibivility で、デバッガ側が永遠に待ち続けてしまうようだ。

むう、何事もそうそう完全に思うようには行かんものだなぁ。

Tcl/tkでMkWidgetのpaneでハマる

2005年04月16日 | プログラミング
Paneなど使ってみたが、問題発生。

Paneの位置をTclアプリ終了時にファイルに書き出し、それを次回起動時に適用する、という処理を書こうと思った。
ちなみに自発的にdestroyしないウィジェットでDestroyにBindしても意味は無くイベントは発動せず、wm protocolでWM_DESTROY_WINDOWしないとダメというのにも嵌ったが、それはさておき。
MkWidgetのPaneでは、packやbindなどしているメイン処理部分で .pane1 set 250 first などとしてもエラーになってしまうのだ。
いろいろやった結果、結論としては、「MkWidgetsのPaneでは、どうも可視状態にならないとsetコマンドは使えないようだ」という結論に達した。
そうなればBindでExposeを受け取る…よりは、tkwait visibility .pane1とした直後にsetコマンドを使う方が良い感じに思えたので、そうした。

こうして書くと短い話だが、2時間ほど悩んだのは秘密だ。

999円DVDシリーズその3・マイノリティリポートを見る

2005年04月16日 | テレビ/ラジオ/映画
安かったのでまたまた買ってしまった。
この作品、元々はトータル・リコールの続編として企画されたという話を聞いたことがある。まあミュータントと言えなくもないプリコグとか、確かにその片鱗はあるかも。
全然期待してなかったんだが、思ったよりは面白かった。予言された犯罪者の名前は木に彫るから偽造不可能ってのも面白い理屈だと思う。普通はやらないとは思うが…
絵もフィルムの粒子が再現されているような雰囲気で、なんかいい感じだった。

ところでこの映画のキモはトムクルーズが操作する未来のUIだと思う。殆どをジェスチャーで操作するものだ。しかし画像の回転や移動などの動作は確かにジェスチャーに向いていると思ったが、全体的には単に面倒なだけのような気がした。
やっぱり専用ボタンがあるほうが速いような。
ついでに、端末間のデータのやり取りを透明な板でやってるのも奇妙というか、有線でも無線でもいいから普通にネットワークで転送すればいいと思うのだが…同じ室内の端末だし。
まあ、いいか。

新ドラえもんを見る

2005年04月15日 | テレビ/ラジオ/映画
ドラえもんの声優が変わったというので視聴。

声はともかく
絵が原作に近くなってるのに感動。

てか、しずかちゃんはさらに微妙に現代風になっていたw

声では、ドラえもんの声は最初びっくりしたがまあ、見てるうちに慣れた。
というか、ガキの頃初めてアニメ版ドラえもんを見たときに感じたほどの違和感は無かった。
まあ、もうちょっと音程が低い方がいいとは思うけど。絵的に表情豊かになったのが良かったんだろうか。

特に俺の場合、のび太の黄色いシャツが物凄い違和感を感じさせていたので、それがなくなったのは実に良かった。
あと半分鬱に入ったのびたがウジウジ言いながら歩く時の表情が良かった。

ソニーの新型MDデータドライブ

2005年04月15日 | ニュース
山から帰ってきたらこんな楽しそうなデバイスが出ていた。

http://pc.watch.impress.co.jp/docs/2005/0413/sony.htm

> ソニー、MDをPC用ストレージにするUSBドライブ
> ~Hi-MDは1GB、MDは305MB

どうもMD Dataとは互換性が無いようだ。果てしなくどうでもいいけど。
いまどきUSB1.1ですか。と言いたいところだが、実際のところMOでも速度的には2.0と1.1の差が全く分からないほど遅いので、多分そういうことなのだろう。
しかしねぇ、しかし。出すの遅いよ。
DVD-RAMドライブが10000円もせずに買え、そこら中のコンビニやDIY店で500円足らずでRAMメディアが一枚買え、さもなくばUSBメモリが256MBで3000円チョイで買える今の時代では、使い古しのMDが使えると言う絶大なメリットをもってしても何か訴求力に欠けるのは否めない。
実に惜しいプロダクツだ。

でもこれを出すソニーには良い面でのソニーらしさが戻ってきたような感じがする。

Pygameその後

2005年04月15日 | プログラミング
添付のIDLEというIDEとの相性が悪いPygameだが、idle -n で起動すればPygameでも固まらないことを発見した。

ちなみに、-nオプションで起動すると何かあまりよくないことがあるようなのだが、英文がイマイチよくわからないのでまあ結果オーライということで、ショートカットに-nを付けてやった。快適。

ついでにサンプルについてきたGLCubeという奴が起動しなかったのだが、ソースを見たらPyOpenGLが必要と書いてあった。拾ってきて入れたらGLが使えるPythonになった。なんかすげー。

N県の山奥から帰還

2005年04月15日 | Weblog

山。
折角なので林道を擬似MTBで疾走してみた。って嘘。スタミナ無いので下りだけで上りは押して歩くという下り専用自転車。
途中は落石が激しくて下りでも押して歩いたりして。
山歩きは、家に帰ってから、数十分前は人が居ない奥地にいたというギャップをしみじみと味わうのが実に良い。
この山奥に超重量級ノートPCでも持っていって現地で即興プログラミングなどしたら爽快だろうなとか思う。

ちなみに雪は道路上などには無く、横に山積みになってる程度だった。
それはともかく、折角写真を撮ったのに、気がつけばマニュアルモードのISO感度が400になってやがった!
おかげでノイズ入りまくり。(´・ω・`)ショボーン
この画像みたく、風景モードなどで撮ったやつは難を逃れたが…縮小しても見える色ノイズが悲しい。
まあ、まだ桜も咲いていない時期だったので、まあいいかと。

しかし、あまり関係ないのだが、普段はブログ(つか俺の場合、日記)更新をサボってても、ネットにつなげない環境だと書きたいことが沸いてくるのが面白いと思った。