[Discussion][Edit History][All Pages][Recent Changes][->Japanese]

more-functional

WiLiKiでChangeLogが続けられるのか挑戦。

Programming/patch-tag

Category of Programming

http://patch-tag.com/ でdarcsのホスティングをやっているらしいので、 githubから移動中[移動先]。

darcsはメール経由でパッチ当てたりできて便利。

ユーザ間でレポジトリを共有するためにはレポジトリに直接書き込み権限を与えたりしないといけないので、 ホスティングするには結構難易度高いのじゃないだろうか。

Programming/ji

Category of Programming

patch-tag:tiの姉妹品でpatch-tag:jiというものを作ってみた。 これはxmppをfifoするためのもの。

tiと組み合わせて使ってるけど、こんな感じ。

 twitter <=> ti <=> ji <=> ejabberd <=> bitlbee <=> emacs

結構間にはさまってるけど、きちんと投稿できてるみたい。

uim/ffi

Category of uim

uimのschemeから共有ライブラリにアクセスするには、 モジュールを作って(module-load)する、という方法が用意されているのだけど、 そもそも共有ライブラリを作成できる言語処理系でないとモジュールを作成できないし、ちょっとライブラリを試したいだけなのにファイルを作るのはめんどう。

ということで、uim-trunkにlibffiにアクセスするモジュールを投入した。

libffiをインストール後、 --with-ffiでconfigureしたuimをインストールすれば、 uim-shから、

uim> (module-load "ffi")
#t
(define libm
       (dlopen "libm.so" (assq-cdr '$RTLD_LAZY (dlopen-mode))))
libm
uim> (ffi-function libm 'double "atan" '((double . "1.0")))
"0.785398"
uim> (dlclose libm)
#t

とかできる。

もちろん引数の数や型を間違えると即死するので注意が必要。

  • 無茶な例: gist:207980 リトルエンディアンの32bitCPU前提だし、ここまでくるとモジュール作ったほうがいい。まねしちゃだめ。

Programming/ti

Category of Programming

誰もが通る道、twitterクライアントを書いてみた。

実行すると、

~/ti +
     + /in
     + /out

というファイルができて、in、outをfifoを通して書き込み、 読み出し出来るようになる。

いちおうtwitter以外のcloneにも対応してて、 identi.caだと、

 $ ti -b https://identi.ca/api

ちゅいったーだと、

 $ ti -b http://chuitter.jp/api

など、status.net系でも使える。

ソース覗きたいたいひとは

 git clone git://github.com/iratqq/ti.git

でどぞ。

uim/prediction

Category of uim

Canna/SJ3/Wnnで予測入力できないのは悲しいので書いた。

せっかくだから日本語以外のimでも使えるように。

これをcommitしたら、look-imは廃止することになるんだろうなあ。

sqlite3は動作が重いかもしれない。 というかこういう用途は想定してないだろうし。

wlos初めて使ってみたけど、tinyclosと勝手が違って涙目。