* まもなく移轉
當サイトはまもなく移轉します。
* みっくみく事件の決着
驚いた。ドワンゴが殆ど完全に折れる形で、しかもこんなに早く決着が付くとは思はなかった。こんな結末になるとは夢にも思はなかった。
* Quốc ngữ と日本語
ベトナム語は六つの聲調を持つ言語であるが、現在それを表記する爲に用ゐられてゐる Quốc ngữ ではその六声調を書き分ける事が出來るらしい。
* 自然物と信仰/生體機械としての人間/初音ミク/オープンソース戰爭
みっくみくが JASRAC された件には非常にもやもやとさせられる。だから出來るだけ消化しようと試みた。Every man thinketh his burden is the heaviest.
* HsHyperEstraier 0.1
HyperEstraier の Haskell 用バインディングである HsHyperEstraier を公開した。
_
sábado, 31 diciembre 2005
Greasemonkey Scripts
Cuenta Larga = 12.19.12.16.13; tzolkin = 5 Ben; haab = 11 Kankin
[Trackback Ping]
かこんの人の東方本厚木は非常に良かった。
人の大勢居る西のエスカレータ付近に座って讀んでゐて泣きさうになった。
_
Greasemonkey Scripts
Greasemonkeyスクリプトのページを作りました。
以前配布してゐたXUL版のime.nu relinkerは、Firefox 1.5になってから使へなくなったので、今後はGreasemonkeyスクリプトとして配布する事にしました。多分install.rdfか何かを修正するだけで動くのでせうが、GMが在る今となってはわざわざXULにする必要が有りません。
以前この日記でhatena-keyword-remover.user.jsを配布してゐましたが、あれはg.hatena.ne.jpの日記のキーワードを消さなかったので、消すやうにしました。
_
martes, 27 diciembre 2005
Cuenta Larga = 12.19.12.16.9; tzolkin = 1 Muluc; haab = 7 Kankin
[Trackback Ping]
* LMake(假)
SConsを參考に。
Arcが出るまで先延ばしにして心の平安を得ようと思ふ。
その時になって「やっぱり作るのやめた」となってゐたら、多分そっちの方が倖せだらう。
だって良く考へてみたらautoconf/automakeのやってゐる事って滅茶苦茶複雜なんですよ。
OS毎の微妙な違ひに細かく對應しなければならないので、本質的な複雜さを持ってゐるのであって、決して綺麗事では濟まされない。
一瞬でも綺麗事で濟むと思った私は實にアホだった。
第一、世の中は既にautoconfを中心に囘ってゐるのだから、これに逆らはうとするなら$prefix/share/aclocalに.m4ファイルをインストールするやうなパッケージの面倒を全て自分で見る羽目になってしまふ。皆が皆、pkg-configを使ってくれるなら良いのだが、現實にさうはなってゐない。
思ひ付いた物を何でも作らうとするのはやめよう。どうせそんな事は誰にも出來ない。私に出來ないだけではない。
* program
bin_PROGRAMS = hello
hello_SOURCES = hello.cpp hello.hpp
hello_CXXFLAGS = @FOOBAR_CFLAGS@
hello_LDADD = @FOOBAR_LIBS@ $(top_builddir)/libhello/libhello.la
(program "hello"
:sources '(hello.cpp hello.hpp)
:cxx-flags `(,foobar-cflags)
:ld-add `(,foobar-libs "libhello/libhello.la")
:install 'bin)
lib_LTLIBRARIES = libhello.la
libhello_la_SOURCES = foo.cpp foo.hpp
(lt-library "libhello.la"
:sources '(foo.cpp foo.hpp)
:install 'lib)
AC_CHECK_HEADERS(
[libkakasi.h], [have_libkakasi=yes], [have_libkakasi_no])
if test "$have_libkakasi" != "yes"; then
echo "libkakasiが無い"
exit 1
fi
(if (not (check-headers '(libkakasi.h)))
(begin
(echo "libkakasiが無い")
(exit 1)))
_
lunes, 26 diciembre 2005
Cuenta Larga = 12.19.12.16.8; tzolkin = 13 Lamat; haab = 6 Kankin
[Trackback Ping]
AAに挑戦してみた。
_
サークルクラッシャーとは
→ ハー○イ○ニー観察日記
→ ゲームセンターに明日はあるの?
「女性蔑視的主観」だってさ。これが?えんがちょ。
多分こんな事をはてなユーザでない私が言っても激しくガイシュツだらうとは思ひますが、個人の空間である個人の日記に、公共に屬するはてなキーワードが侵入して來ると云ふ、この構造が上手く行く爲には、登録される全てのキーワードが誰の見解とも對立しない、もっと言へば全くの無害で毒にも藥にもならない内容である事が、要求されるのでは、ないでせうか。誰かがその要求に反する事をすると、御覧のやうにどうしようも無い事が起こるわけです。結果として發生する、このやうな論理の糖衣に包まれた感情の塊の大きさが、キーワードで説明されてゐる内容の大きさと釣り合ってゐないやうに思ひます。人々の間に憎しみを生み出すには充分な規模です。
はてなキーワードと云ふシステムだけを見れば、やってゐる事はWikipediaと似たやうなものですが、Wikipediaの記事は最初から最後まで公共のものであり、誰の私的空間にも直接干渉しません。だから自分の氣に入らない記事を誰かが投稿したからと云って、編集合戰になる事はあっても、餘り「俺が個人的に氣に入らないからこの項目全文を消せ!」と怒鳴り散らすやうな話にはならないのでせう。編集と削除はかなり違ひますし。
まあ、私は「他人の手で管理されてゐる日記/blogシステムを自分のメインのサイトで常用するのは嫌だ」と云ふだけの理由ではてなを使ってゐないので、他人事ではありますが…
_
domingo, 25 diciembre 2005
m4/sh/makeにコンパイル
Cuenta Larga = 12.19.12.16.7; tzolkin = 12 Manik; haab = 5 Kankin
[Trackback Ping]
autoconf / automakeでは、實行する動作が非常に複雜であるにも關はらず、それを非力な言語であるm4とシェルスクリプトとMakefileだけで記述しなければならない。これではまるでアセンブラだけでコードを書き上げるやうなものではないか。もっと強力な高級言語で書けた方が楽ではないのか。
人間が強力な言語で楽に記述したロジックをシェルスクリプトへ『コンパイル』するやうにすれば、configure時に特別な處理系を必要としないので、configureの理念を保てるはずだ。
例へばSchemeで…
(set! foo (+ 1 1)) =>
foo = `expr 1 + 1`
(set! foo (+ (if (= bar 666) 10 20) 100) =>
if test "$bar" = 666; then
__tmp__001__ = 10
else
__tmp__001__ = 20
fi
foo = `expr "$__tmp__001__" + "$__tmp__002__"`
(define (func a b)
(* a b))
(if (= (func 10 5) 50)
(system 'echo "Hello, world!")) =>
__tmp__001__ = 10
__tmp__002__ = 5
__tmp__003__ = `expr "$__tmp__001__" '*' "$__tmp__002__"`
if test "$__tmp__003__" = 50; then
echo "Hello, world!"
fi
出來さうな氣がする!しませんか!?
ただ再歸的な關數呼出しを展開するにはどうしても再歸をループに變へなければならないので、これは難しいと思ふ。
前方へのgoto:
flag = true
while test "$flag" = true; do
# 飛び先
flag = false
... 何かの作業 ...
if ...; then
continue # goto
fi
done
後方へのgoto:
flag = true
while test "$flag" = true; do
... 何かの作業 ...
if ...; then
break # goto
fi
... 飛ばされた作業 ...
done
# 飛び先
(define (factorial a b)
(if (= b 0)
1
(* a (factorial a (- b 1)))))
(set! foo (factorial 10 5)) =>
__tmp__001__ = 10
__tmp__002__ = 5
__tmp__003__ = true # flag
……
やっぱり無理?
/bin/shには關數も、ローカル變數も、ローカル變數を實現する爲のスタックも無い。
…と、ここまで考へて、關數の部分だけ別ファイルにして置けば三つとも實現出來る事に気付いた。しかもこれなら再歸も出來る。プロセスが起動しまくるけど…氣にしない。
# .config.parts/factorial.sh
if test "$2" -eq 0; then
echo 1
else
__tmp__001__ = `expr "$2" - 1`
__tmp__002__ = `/bin/sh ./.config.parts/factorial.sh "$1" "$2"`
expr "$1" '*' "$__tmp__002__"
fi
# configure
foo = `/bin/sh ./.config.parts/factorial.sh 10 5`
完璧だ!變數と云ふ變數をexportして環境變數にすれば動的スコープも實現できさうだ。でも(eval (list 'define '(func a b) '(+ a b))とかやられたらどうしようも無いので、evalは削るしか無いかも。さうするとSchemeの力がだいぶ失はれるが…… やっぱり駄目か。
pythonのDistutilsSConsのやうにシェルスクリプトを捨てるしか無いのだらうか。それともシェルスクリプトでSchemeの處理系を作る?チューリング等價である以上は理論上不可能ではないのだらうが、ぞっとしない考へだ。正直やりたくない。
_
jueves, 22 diciembre 2005
MultiNotePad 再公開 / ねぎ姉さん
Cuenta Larga = 12.19.12.16.4; tzolkin = 9 Kan; haab = 2 Kankin
[Trackback Ping]
(17:43) 再公開しました。
_
ねぎ姉さん
日常に狂氣が欲しい方、狂氣を必要としてゐる方、お求めのものはこの先にあります。
「これを見よ」と提示されたものの正面ばかりではなく、側面や背面を覗き見る爲には、狂人の目が要るのだと思ふ。あちら側へ行って目にしたものを持ち歸る事は困難であり、
_
MultiNotePadと云ふメモ帳ソフトがある。私がMacOS Xを入手して初めて作ったものがこれで、殆ど自分で使う爲だけに作った。このサイトの名前がC.C.M.であり、フリーの鯖に置いてあった頃に公開してゐたのだが、Gata Durmienteに移る時にそのまま置いて來てしまった。
自分では今でも毎日のやうに使ってゐるのに、單にその時點では公開ページを作るのが面倒だったと云ふ理由だけで、そのまま再公開する事無く今に至る。これはちょっと勿体無いので、今からアーカイブ作ってサイトに上げようかと思ひます。もう上げました。
毎日のやうに使ってはゐるものの、私自身にもこれに不滿は結構あります。
* データファイルを他のソフトで再利用するのが困難であること。
* 保存に時間が掛かること。
* 階層構造の組替へが出來ないこと。
* 檢索が出來ないこと。
* Cocoaでしか使へないこと。
いづれはMNPを書き直したいと思ひつつもう何年も經ってゐるわけですが、もう好い加減に手を付けたい。N-Gramで轉置インディクスでも作って高速な全文檢索を!とかやりたい。しかも檢索をインクリメンタルにしたりして。ファイル形式にはSQLite3を使ってやらうかしら。フロントエンドとバックエンドを分離可能にもしたい。内部でここまでやって「これはただのメモ帳です」と言ふのはどんなものだらうか。
_
viernes, 16 diciembre 2005
Cuenta Larga = 12.19.12.15.18; tzolkin = 3 Etznab; haab = 16 Mac
[Trackback Ping]
虹裏の人間には2chを嫌ってゐる者が多いやうに思ふ。
それでも、非常に有名になった定型句は、2chと虹裏の間で行き來する事がある。
(『どう見ても○○です』が2chから虹裏へ渡ったし、『やらないか』は虹裏から2chへ渡ったとされる。)
人間の思惑とは無關係に、『それ』は何處までも行ってしまふ。
__
卒論書いてます。1月末に提出です。
それまでちょっと他の事は出來ません。殘念ですが…
__
教習所へは相變わらず行ってゐるし、假面も既に取ってゐますが、もうあれこれと書くのが面倒になりました。
2002
10
11
12
2003
1
2
3
4
5
6
7
8
9
10
11
12
2004
1
2
3
4
5
6
7
8
9
10
11
12
2005
1
2
3
4
5
6
7
8
9
10
11
12
2006
1
2
3
4
6
7
8
9
10
11
12
2007
1
2
3
4
5
6
7
8
9
10
12
2008
1
4