export MOZ_DISABLE_PANGO=1
するとすこし幸せになるらしい
export GDK_USE_XFT=0
はよくわからないなー。
export MOZ_DISABLE_PANGO=1
するとすこし幸せになるらしい
export GDK_USE_XFT=0
はよくわからないなー。
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
...
Richard M. Stallman講演会 @ 秋葉原 |
\u30cd\u30bf
というunicode escapeされた文字列がペーストされてしまう件をちょっと調べてみた。
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))))
/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.