パスワードを忘れた? アカウント作成
37566 journal

USHの日記: Windows 7? はみごはだれ? 4

日記 by USH


Windows 7 という名前が正式になったそうな。

7 番目の Windows という意味らしい。
でも、
3.1, 95, 98, ME, 2000, XP, Vista と、すでに7つあるような。
NT 系とすると、
NT4.0, 2000(5.0?), XP(6.0?), Vista(7.0?) で、やっぱり7 は使われている。
server 系だと 7 番目なのか?

506888 journal

USHの日記: Ruby の楽しさ

日記 by USH

なにげなく「Rubyの生産性の高さはどこまで本当か? 」なるサイトを見付けてしまった。

まあ、ここの機能を取り上げて言語の優劣を論じるのはなかなか難しい。
ただ、Ruby(とLISP)でできて、他の言語でなかなかできない事として、構造を持つデータの埋め込みがあるように思う。

例えば、S式で

  (game
    (stadium "Yokohama")
    (teams
      (team (name "FC Barcelona") (region "Europa"))
      (team (name "SC Internacional") (region "South America")))
    (score 0 1))

というようなデータを、プログラム中に埋め込みたいとする。
LISPなら上の式をそのまま quote すればよいわけだし、Rubyでも、

  [:game,
    [:stadium "Yokohama"],
    [:teams,
      [:team, [:name, "FC Barcelona"], [:region, "Europa"]],
      [:team, [:name, "SC Internacional"], [:region, "South America"]]],
    [:score, 0, 1]]

と書けてしまう。ポイントは、Array ([]) や Hash({}) がシンタックスに入っていて、いちいち new と書かなくてもよいところ。

さらに、上のデータの score が動的に代わるなら、[:score, 0, 1] の所を、[:score, $score1, $score2] とか変数化しておけば、そのときの値を埋め込んでくれる。(LISP でいう back-quote 機能の様な感じ) これ、以外と使えるので重宝しています。

大きなシステムならともかく、やっつけで作る細かいツールなんかは、ちょっとしたデータを埋め込んで置きたくなる。そのデータはできるだけ視覚的にわかりやすい方が、あとあとのメンテナンスが楽なんですよね。(メンテなんて言っている時点で、「やっつけ」と自己矛盾していますが。)

こういうのって、Java や C# ではできるんですかねぇ。

531927 journal

USHの日記: ThinkPad X32 + Vine Linux 3.2 + suspend to memory

日記 by USH

いろいろ悩んでいた、ThinkPad X32 + Vine Linux 3.2 でsuspend を安定に動かす方法がわかったので、書いておきます。

基本設定は、APM を有効、ACPIを向こうにして kernel を起動。 apm -s でsuspend to memory になります。

問題なのは、AC online で起動したあと、battery で動作中に suspend すると、次、起動できなくなります。原因はどうも battery モードでの CPU のクロック低下のせいらしい。

なので、ちょっと強引だが以下のような解決策を。

/etc/sysconfig/apm-scripts/apmcontinue-pre を以下のように改変

case "$PROG" in
     suspend|standby)
        /sbin/rmmod usbmouse ohci1394 ieee1394 ehci-hcd usb-uhci hid
        # force CPU freq high
        echo -n "0%100%100%performance" > /proc/cpufreq
        ;;
     resume)
        # set suitable CPU freq
        if apm | LC_ALL=C grep -q on-line &>/dev/null; then
            echo -n "0%100%100%performance" > /proc/cpufreq
        else
           echo -n "0%0%100%powersave" > /proc/cpufreq
        fi
        # do nothing
        ;;
esac

resume の部分は apmscript の中での処理にまかせる方がいいのかも知れないが、apmscript 内のものではやたらと freq をとにかく最低にしてしまうので、それを避けるために、こちらに記述。

typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...