GWの遊び
世間はGW一色。インフルエンザも何のそので、海外へとか、ETC割引を有効利用して 、各地に出かける人が多いだろうな。でも、こういう時は家に居るのが一番とば かりで、、、
Ikarus ふたたび
前に、FreeBSDでIkarusをコンパイルしようとしたら、門前払いを食らってしまって いた。原因は、CPUがSSE2に対応してないからと言う情けないものであった。それ ならばと思って、VMWare上のFreeBSDならどうかなと思いまずは下調べ。
[sakae@nil ~]$ dmesg|lv FreeBSD 7.2-PRERELEASE #0: Wed Apr 1 03:49:04 JST 2009 root@nil.kuma.net:/usr/obj/usr/src/sys/SAKAE Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Celeron(R) CPU 2.20GHz (2203.49-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf28 Stepping = 8 Features=0xfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP, MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS> real memory = 402653184 (384 MB) avail memory = 384360448 (366 MB) :
と言う事で、FeaturesにSSE2が見えたので、コンパイルしてみた。そして無事に コンパイルも終わり
[sakae@nil ~]$ ikarus Ikarus Scheme version 0.0.3 Copyright (c) 2006-2008 Abdulaziz Ghuloum > (define (fib n) (if (<= n 1) n (+ (fib (dec n)) (fib (- n 2))))) > (define (dec n)(- n 1)) > (time (fib 35)) running stats for (fib 35): no collections 650 ms elapsed cpu time, including 0 ms collecting 655 ms elapsed real time, including 0 ms collecting 0 bytes allocated 9227465 >
前に、petiteで同じ事をやったら、4713msかかっていたから、爆速だ。どんな秘密 が隠されているかというと、ネィティブコードに変換してから実行してるようだ。
これは良い。早速、debianにも入れてあげようと思って立ち上げたら、何故か ssh でlogin出来なかった。pingも通らないので、どうなっている事やら? ひょっとして DebianもGW休みなのでしょうか? いちいち、LCDを繋ぎ換えて調べるのも億劫 なので、GW中という事でそっとしておいてあげる事にします。でも、SSE2サポート してるのかなあ? それが、問題だ。Linuxのdmesgって、余り有効な情報が載って いないんだよなー。(偏見でしょうか?)
と、言う事で、FreeBSDで引き続き遊びます。えぇと、次は
FreeBSDでもjfbterm
jfbtermってLinuxの専売特許かと思っていたら、いつの間にかFreeBSDにも移植さ れていた。触れ込みは
Multilanguage can be displayed on the console in using the frame buffer. jfbterm WWW: http://sourceforge.jp/projects/jfbterm jfbterm for FreeBSD WWW: http://www.ac.auone-net.jp/~baba/jfbterm/
昔お世話になった、konの進化系。CUI系なのに、グラフィックが表示出来ちゃうと 言う訳だ。sysutils/jfbtermにある。普通にインストールした後、
# kldload vesa # cat /usr/local/share/jfbterm/termcap.jfbterm >> /usr/share/misc/termcap # cap_mkdb /usr/share/misc/termcap # cp /usr/local/etc/jfbterm.conf.sample /usr/local/etc/jfbterm.conf
後は、/boot/loader.conf に vesa_load="YES" と書いておく。また、 japanese/mplusfonts を入れておくと、日本語文字が綺麗に表示される。
/usr/local/etc/jfbterm.conf 内の D.1) をコメントアウトして、D.2)のコメント を外しておこう。起動は
env TERM=jfbterm-color jfbtern
えらい細かい文字が表示出来るようなターミナルに変身する。どれくらいの文字が 表示出来るか stty -a してみたら、縦59行、横170文字の画面でした。もうちょっと 文字が大きくてもいいな。適当なフォントがないかな。
piki -- コマンドラインWIKI
先ほどから、ちょいとかっこいい表示(当社比)でPageが表示されているが、これ は、mewの山本さんが作られた、コマンドラインWIKIのおかげです。
あどけない話を見ていたら、たまたま コマンドラインWIKI に、行き当たりました。使い方も簡単だし、丁度Haskellにも興味が有ったので、試して みたのでした。
c:\sakae\HS\piki-0.2>wc *.hs 49 253 1558 Html.hs 88 289 2386 HtmlText.hs 67 239 1948 LineParser.hs 63 222 1839 Main.hs 26 75 699 Notation.hs 151 543 4645 Piki.hs 30 191 1016 Tag.hs 474 1812 14091 total
どんな仕組みで動いているか勉強するにも、適当な大きさと思った次第です。 そうそう勉強と言えば cut-seaさんが書かれた、グローバル変数が欲しい理由?も 大変ためになりました。みなさん、いろいろありがとう。