Tuesday, October 30, 2007

MOZ_DISABLE_PANGO=1

FireFox(Iceweasel)が最近遅いなーと思う人は export MOZ_DISABLE_PANGO=1 するとすこし幸せになるらしい export GDK_USE_XFT=0 はよくわからないなー。

Sunday, October 28, 2007

Debian Description Trends

ちょっと現実逃避Real UNIX MAGAZINE DayネタにDebian Description Trends を作ってみた。
Debian Description Trendsは次のようなかんじで作った。 まず、wordのとりだし。UNIX shellパワーを駆使(というか超適当) for file in */*/01/debian/dists/sid/main/binary-i386/Packages.gz do date=$(date -d $(echo $file | sed -e 's/\/debian.*//') +%Y-%m) gunzip < $file | sed -ne 's/Description: //p' -e '/^ /p' | tr '[[:upper:]]' '[[:lower:]]' | sed -e 's/[^-\/+[:alnum:]]/ /g' -e 's/[[:space:]][[:space:]]*/\n/g' | sort | uniq -c | sort -nr > ~/tmp/desc-words-$date.lst done これで desc-words-$YYYY-$mm.lst にwordごとのcountが示されたファイルができる 最初これを ruby scriptで gnuplot script を生成してgraphを生成していたのだが、webで見られるようにしたほうが便利だろうと思い途中でcgiに変更。 使ってみるとscanしてgnuplot script生成がかなり遅かったのでデータをsqliteにつっこんでみた。 CREATE TABLE words ( year integer, month integer, word string, count integer ); CREATE INDEX words_word on words ( word ); つっこむ時はこんなかんじで #!/usr/bin/ruby require 'sqlite3' .. db = SQLite3::Database.new(dbname) .. sql.push("insert into words values (#{year}, #{month}, '#{kw}', #{n});") .. db.execute_batch(sql.join("\n")) cgiの中はこうやってとりだし #!/usr/bin/ruby require 'sqlite3' ... keyword = q.gsub(/,/, "").split kwv = {} db = SQLite3::Database.new(DATAFILE) db.results_as_hash = true db.execute("select year, month, word, count from words "+ "where word in " + "(#{keyword.collect{|v| '?'}.join(', ')})", *keyword) do |row| date = "#{row['year']}-#{row['month']}" kwv[date] ||= {} kwv[date][row['word']] = row['count'].to_s end ...

Wednesday, October 24, 2007

RMS講演会

今日はFSIJ主催のリチャードM.ストールマン講演会が秋葉原であった
Richard M. Stallman講演会
@ 秋葉原
内容は「フリーソフトウェア運動とGPLv3の現在」と題して、ソフトウェアのフリー/自由とは何か、何故フリーソフトウェア/自由ソフトウェアが大事なのか、そのためにどのような活動をしてきたか、copyrightとcopyleft、copyleftとフリーなライセンス、GNUプロジェクトについて、GNU/Linuxについて、GPLv3でなにがかわったか などなど。 最初、茶織(CocaColaのお茶)を用意しておいたら、CocaColaは駄目だーとかいう話になって、急遽、生茶(Kirinのお茶)に交換することになったり。 宴会では、ストールマン先生はラーメンに興味があるらしく、いつからあるのかとか、どれが元祖なのかとかいろいろ質問されるので、日本ではそれほど歴史はないんじゃないか(戦後?)とか、地域ラーメンは比較的最近いうようになったんじゃないかとか。他にはチョコを箱買いした話とか。ストールマン先生はそのまま名古屋に移動ということで中座した後は、竹内郁夫先生とかとIPAや未踏の話、Lispマシンの話から花火の話などなど。

Monday, October 15, 2007

LC2007反省会

秋葉原にて、LC2007プログラム委員会の反省会。
  • video公開はknokさんがんばる
  • 応募がすくなかった。CFPをもっとspamしないとだめか?
  • BOFが予想してたより おもしろかった。BOFも応募してみるといいかも?
  • 論文じゃない形式での応募もありにしたほうがいいか?
  • LTの応募も少なくて大変だった
  • OSCとかと比較すると技術的に濃い話もできるカンファレンスだったと思う
  • 臨海副都心産総研の場所はけっこうよかった。LANが自由につかえればもっとよかったかも
  • 来年はLC98から10年。なんかおもしろいことはできないか
などなど。 その後 UDXで晩飯

Iceweasel がおかしい

top menu がマウスに反応しなくなったり (Alt-F とかなら反応する)、 iceweasel-webdeveloper の bookmarkbar の dropdown menu も反応しなくなったり、 web page 中の pull down menu (gmailの"More actions..."など) もなんか変だったり どうもBug#400302ぽいのだが、解決策はのってないな…

Sunday, October 14, 2007

Emacs に copy & paste

Emacs に Iceweasel (Firefox) から Copy & Paste すると \u30cd\u30bf というunicode escapeされた文字列がペーストされてしまう件をちょっと調べてみた。
Emacs21 なので mule-ucs も使ってるけど、どうも簡単な設定ではなさそう。 既に世の中 Emacs22 みたいなので、Emacs22 にしてみたら問題なく Copy & Paste できた。Emacs21->Emacs22では mule-ucs不要になったので、次のように un-define しないようにする必要があったくらい。
(when (<= emacs-major-version 21)
   (require 'un-define))
ちょっと深追いしてみると Emacs21では term/x-win.el -> select.el の x-get-selection がそういう文字列をかえしているみたいだった。
(x-get-selection 'PRIMARY 'STRING)
"\\u30cd\\u30bf"
そうこうしているうちに Iceweaselが死んでしまったので動かしなおしたら、Copy&Paste問題もなおってしまった。どうやら LANG=C でIceweaselを動かしていると駄目で、LANG=ja_JP.UTF-8 (or ja_JP.EUC-JP) で動かしているとよさそう。 Emacs22 はどちらでも問題ないので、Emacs21の問題といえば問題なのか。 こうやるとEmacs21でもよさげ
  (defun unescape-x-text (str)
    (replace-regexp-in-string
     "\\\\u\\([0-9a-fA-F]\\{4,4\\}\\)"
     (lambda (match-str)
       (char-to-string (ucs-to-char
        (read (concat "\?\\x" (substring match-str 2))))))
     str))
  (defun x-get-selection (&optional type data-type)
    (unescape-x-text
     (x-get-selection-internal (or type 'PRIMARY)
                            (or data-type 'STRING))))

久々のupgrade

すごく久々にノートの Debianを upgrade。 ptex-bin が次のようなエラーをだしていた
/var/lib/dpkg/tmp.ci/preinst: 61: mktexlsr: not found
dpkg: error processing /var/cache/apt/archives/ptex-bin_3.1.10~beta3+0.04b-4.1_i386.deb (--unpack):
 subprocess pre-installation script returned error exit status 127
もう一度 upgrade したら通ったが、これ(preinstで mktexlsrを実行しちゃってる)は bug じゃないか?
`Pre-Depends' are also required if the `preinst' script depends on the named package. It is best to avoid this situation if possible.

Wednesday, October 10, 2007

debian mirror pipelineを変更

debian.org -> hp.debian.or.jp -> hanzubon.jp -> ftp.jp.debian.org で時間がかかりすぎているようだ。 ちょっと計測したところ debian.org -> hp.debian.or.jp より debian.org -> hanzubon.jp のほうがだいぶ早い (route と machine powerの違い)ようなので、まず hanzubon.jp で日本にもってきてそこから国内配布するように変更。
とりあえずは
  1. debian.org -> hp.debian.or.jp にsignal
  2. hp.debian.or.jp は即座に hanzubon.jp に signal
  3. hanzubon.jp は debian.org から rsync
  4. hanzubon.jp -> hp.debian.or.jp に signal
  5. hp.debian.or.jp は hanzubon.jp から rsync
で、debian.org の signal 先を hanzubon.jp に変更してもらう予定。 というか そろそろ、hp.debian.or.jp も新しいサーバーに更新しないとなあ。 2001年3月頃からだから、もう6年半以上使っているわけで。

Friday, October 5, 2007

JYU 渋谷店

JYU渋谷店にて、10月中途採用エンジニアのwelcome party

Thursday, October 4, 2007

Engadgetオフライン東京

English lessonが20時までだったのだが、その後7Fに行ってEngadgetオフライン東京の様子を見にいった。 たくさんの人とあやしいGadedgetがいろいろ。 hardwareもいじれるといろいろと楽しそうだなあ。 knokさんがZaurusとかをずらりと並べてたら、Nokia N800 Internet Tabletをもってた人がやってきていろいろと話した。スタイラスと指でUIの動作がかわるとかおもしろいな。DebianベースでPythonとかRubyとかも動いているそうでかなりよさげ。 終わった後はknokさんyaegashiさんと近くの「つくしんぼ」で晩飯。

Tuesday, October 2, 2007

ANN: リチャード M. ストールマン講演会開催

FSIJ主催で、10月24日 秋葉原で「リチャード M. ストールマン講演会〜フリーソフトウェア運動とGPLv3の現在〜」が開催されます
拡大地図を表示