トップ «前の日(02-14) 最新 次の日(02-16)» 追記

日々の流転


2002-02-15

λ. Gimp-RubyのWin32用バイナリ

ようやく新しい開発環境を手に入れたので、Gimp-RubyのWin32用バイナリを作ってみました。とりあえずα版だと思ってください。以下に感単にインストール方法を書くので、人柱募集中 ♥

Tags: gimp
  1. mingw版Rubyのインストール
    http://www.ruby-lang.org/~eban/ruby/binaries/mingw/から新しめのrubyのバイナリを持ってきて適当なディレクトリに展開します。Cygwinを使っているなら、Cygwinの/に展開すると良いと思います。
  2. 設定
    まず拡張子.rbをusr\local\bin\rubyw.exeに関連付けします。 次に、gimpが実行ファイルと認識するように環境変数PATHEXTを設定します。 NT系であればコントロールパネルで設定し、 それ以外では起動ドライブのautoexec.batに 「set PATHEXT=.rb」 あるいは 「set PATHEXT=%PATHEXT%;.rb」 という行を追加します。
  3. Gimp-Rubyのインストール
    ruby-gimp-libs-20020215-i386-mingw32.tar.gz をとって来て同じディレクトリに展開します。
  4. プラグインのインストール
    上記のパッケージにはプラグインが含まれていないので、 ruby-gimp-0.6.5.tar.bz2 をとって来て、plug-insディレクトリに含まれる.rbファイルを プラグイン用のディレクトリへコピーしてください。

λ. def文の中の実行文で外部の変数に影響を与えたい (雑記帳 2月14日(木))

確かに参照渡しを利用した値の書き換えが出来ない言語では悩ましいよなぁ。戻り値を使わないなら、後はJavaでやっているようにHolderクラスみたいなのを使うしかなさそうな気がする。確かRinnでの結論は戻り値を使うことだったはず。あと、Ruby/Gtkなんかにも同じ問題があったような……

Tags: ruby

2003-02-15

λ. 早起きしてみる。でも、夕方にはもう眠くなる罠。

λ. gtk2 on cygwin

久しぶりにコンパイル。コードに関してはパッチをある程度送ってあるので、前回よりはだいぶ楽。ただ、例によってldとlibtool周りは良く分かってなくてパッチも怖くて送ってなかったりするので、その辺りは若干面倒。今回は、少しでも面倒を避けるために「LDFLAGS=-Wl,--export-all-symbols ./configure」とかして逃げてみる。

そのうち Cygwin Gnome @ sf.net あたりが、ちゃんとしたバイナリを公開してくれないかなー

Tags: cygwin

λ. glib-2.2.1

dlopen系の関数を使うようにするパッチをあてて、特に問題なくコンパイル。

Tags: cygwin

λ. atk-1.2.0

同じく問題なし。

Tags: cygwin

λ. fontconfig.2_1

pangoのxftバックエンドとft2バックエンドがfcpackageのfontconfigを必要とするのだけど、こいつはwindowsのことを全く考えていないようなので、とりあえず後回し。

Tags: cygwin

λ. pango-1.2.1

パッチをあてて、とりあえずx11バックエンド用とwin32バックエンド用だけコンパイル。basic-win32モジュールがusp10.hが無い場合にコンパイル出来なくなってた。usp10.hのことは知らないので、適当に対処。

Tags: cygwin

λ. gtk+-2.2.1

リンク時に以下のようなメッセージが出て、強制的にスタティックライブラリにされてしまう。どう対処するのが正しいのか知らないので、「-luuid」を「-Wl,-luuid」に置き換えてlibtoolを黙らせる。

*** Warning: linker path does not have real file for library -luuid.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libuuid and none of the candidates passed a file format test
*** using a file magic. Last file checked: /lib/w32api/libuuid.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
 
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.

そーいや、モジュールの拡張子に関するqueryimmodule.cのパッチや、x11関係の細かいパッチを送るのをすっかり忘れてた事に気が付いた。

Tags: cygwin

2004-02-15

λ. Rena

RubyRDFは好みに合わなかったので、どうせなのでRDFを扱うためのライブラリを自作してみることにする。名前はとりあえずJenaをもじってRenaってことにしよう。

とりあえず、RDF/XMLから読み込むコードを書いた。XMLパーサにはとりあえず Ruby 1.8 で標準添付になってるという安直な理由でREXMLを使ったのだけど、REXMLってホントRubyっぽくないなぁとあらためて思った。


2005-02-15

λ. 不動点と有限直和を持つCCC

A Model of Intuitionistic Affine Logic from Stable Domain Theory, Torben Braüner によれば、A Note on Inconsistencies caused by Fixpoints in a Cartesian Closed Category. Huwig, Hagen, Poigné で、「不動点と有限直和を持つCCC(Cartesian Closed Category)は、一つの対象と一つの射しかない圏と圏同値」(a cartesian closed category with fixpoints and finite sums is equivalent to the category with one object and one arrow.)が示されているそうだ。この論文はWeb上には公開されてないみたいだし、メディアセンターで取り寄せるのも面倒なので、その前にちょっと考えてみる。

まず、A Model of Intuitionistic Affine Logic from Stable Domain Theoryから不動点の定義を引っ張ってきておこう。

不動点

有限直積を持つ圏は、 任意の射 f: A×B→B について 射 f: A→B が存在して f = f o (idA×f) o ΔA (ここで ΔA: A → A×A は対角化写像 ΔA = <idA,idA>) を満たすときに、「不動点を持つ」と言う。 また、この f: A→B を f: A×B→B の不動点と呼ぶ。

なお、CCCが不動点を持つのは、 任意の対象Bに対して不動点演算子 YB: BB → B が存在して、 任意のf: A×B→B について YB o curry(f) が f の不動点に なっている時かつその時だけだそうだ。

有限個の対象の直和が存在すると言っているので、ゼロ個の対象の直和、すなわち始対象0も存在する*1。そして、p2: 1×0→0 の不動点 p2: 1→0 は !0: 0→1 の逆射になっているので 0 ≅ 1。 一方、uncurry(!!0A): 0×A→0 は !!0×A: 0→0×A の逆射になっているので、 0×A ≅ 0。 したがって、任意のAについて A ≅ 1×A ≅ 0×A ≅ 0 なので、全ての対象は同型。

次に、任意の対象X,Yを考える。Xから0への同型射をα: X→0、1からYへの同型射をβ: 1→Y とすると、任意の射 f: X→Y について β-1 o f o α-1 = !0 が成り立ち f = β o !0 o α であるので、射 X→Y はただ一つだけしか存在しない。

ここまでで、この圏は全ての対象が同型で、どの対象X,Yの間にも射は一つだけしか存在しないような、つまらない圏でしかないことが分かった。ちなみに、ここまでは “Conceptual Mathematics: A First Introduction to Categories”, F. William Lawvere, Stephen H. Schanuel の知識だけから言えるはず。最後に、この圏が一つの対象と一つの射しかない圏と圏同値であることは……省略。

……と、ここまで書いてきてなんなんだが、なんか変な気がするなぁ……

Tags: 圏論

*1 有限つったら普通ゼロも含んでるよね?

λ. 不動点と有限直和を持つCCC (2)

具体例として、全ての pointed CPO と全ての正格な連続関数からなる圏を考えてみる。この圏では 0 = 1 = {⊥} となっていて直積も存在する。もし、冪(exponential)が存在してCCCになっているなら、さっきの議論からこの圏の全ての対象は同型だということになるけど、これは矛盾。したがって、この圏には冪は存在しないはず。

正格な連続関数からなるpointed CPO [A→B] は冪にはならないのかなぁ、と一瞬考えてしまったけれど、さっきの議論から簡単な反例を抽出できる。Aを2要素以上からなるpointed CPOとすると hom(0×A,0×A) ≅ hom(1×A,1×A) ≅ hom(A,A) は2個以上の要素を持つ一方で、hom(0,[A→0×A]) は1要素しか持たないので、同型にならない。

[2005-03-30 追記] ちなみに、A⊗B = {(a,b) | a∈A, b∈B, a≠⊥, b≠⊥} ∪ {⊥} と定義すると、-⊗A は [A→-] の左随伴になっている。つまり、この圏は⊗をモノイド演算とする symmetric monoidal closed category になっている。

Tags: 圏論

λ. 不動点と有限直和を持つ distributive category ?

[2005-03-27 追記] ところで、最初の議論で使った 0×A ≅ 0 は distributive category の定義に含まれるので、この議論での CCC という条件は distributive category に弱めることが出来ると思う。

Tags: 圏論

2007-02-15

λ. 著作権難しい (><)

ある同人作品のREADMEファイルに以下のように書いてあることに気付いた。

本作品、および本作品に収録されたデータの単体もしくは全部を、無断で複製、転載、販売することを禁止します。定型文で申し訳ありませんが、一応のお約束ということで…(苦笑)

しかし、これはインストール時およびプログラムの実行時においても一切表示されず、同意しなくても遊ぶことが出来る。では、この文言はどのように考えるべきか?

同意した記憶はないのだが、シュリンクラップ契約と考えるべきだろうか? ただ、もしそうだとすると困ったことになる。 「著作権の制限」の一つとして、プログラムの著作物の複製物の所有者による複製等(著作権法第47条の2第1項)があり、通常はプログラム著作物の複製物の所有者は利用に必要と認められる限度において当該著作物を複製することが可能なのだが、この規定は強行法規ではなく任意法規として解されるため、契約の方が優先される。 そのため、自分のマシンにインストールすることすら契約違反となってしまう。

流石に、そのようなことを作者が望んでいるとは考えにくいが、その他の「著作権の制限」、例えば私的使用のための複製(著作権法第30条)についてはどうだろうか?

……とかちょっと思ったのだが、まあREADMEファイルに書いてあるくらいで契約を結んだとみなせるわけもないと思うし、気にせず私的使用のための複製を行うことにした。具体的にはこの作品のBGMをiPodで聴きたいと思ったのだった。

しかし、こういう変なことが書いてあると、著作権とかに詳しくない私のようなプレイヤーは困惑してしまうよ。「Japanese Only」や「リンクフリー」等の恥ずかしい表示と同じで、ちゃんと理解せずにコピペするのは良くないと思った。

λ. PageDefragでページファイルのデフラグ

最近マシンが重いのは、ページファイルが断片化してるからではないかと思い、PageDefrag でデフラグしてみた。 c:/page.sysは1GBで62個に断片化されていたのが、断片化を解消することが出来た。こころもち軽くなったような気がする。

本日のツッコミ(全2件) [ツッコミを入れる]

ψ S.B. [……なにか期待されているのだろうか。]

ψ さかい [あ、いえ、S.B.さんに特に何かを期待していたわけではないです。 もちろんツッコミは歓迎ですけど。 # 変なこと書い..]


2009-02-15

λ. 両代数(dialgebra)のキューブ

Dialgebraic Specification and Modeling の表紙の立方体がかっこいい。

title0