December 28, 2007

風邪

喉の痛みと、咳、鼻水、あと体中が痛くてたまらんので、病院へ。
体温を計ってみたら微熱があるようだ。普段はこのぐらいの体温で体中が痛くなることはないので、インフルエンザを疑われた。15分ぐらいで検査できるらしいので、検査してもらったけど問題なし。まあ一回だけだけど、予防接種もしてたしなあ。
そんなで、薬もらって養生しよう。

ホームの下にいる不思議なファイルたち

  • 01-1.pdf
  • 01-5.pdf
  • 1.ps
  • 2.ps
  • 3.ps
  • 4.ps
  • 5.ps
  • 6.ps
  • 7.ps
  • a
  • a.txt
  • bar.ps
  • f.c
  • foo
  • foo.ps
  • foo.sh
  • foo.xml
  • t.c
  • t.ps
  • test
  • test.c
  • test.pdf
  • tmp5
  • tmp6
  • tmp8
  • tmp9
  • tt.c

中身をみないと正直なんのファイル(もしくはディレクトリ)なのか不明。

December 27, 2007

mew-ical.el

いくらかコードの整理と、送信者に対してメールで返信できるようにしてみた。

December 26, 2007

Invalid card number (cont.)

非常に気持ち悪い終わり方だが、udevとhalをインストールしなおしたら解決した。結局誰が、いつ、どうやって/dev/snd/*を作ってるかはわからず終い。たぶんudevなんだろうが、udevinfoとかみてもドライバをロードする手がかりがないように見える。

December 22, 2007

Invalid card number

いつのupdateからかはっきりしてないのだけど、rebootしてみたらalsa-utilsのinit scriptから呼ばれるamixerがこんなエラーを大量に吐いて音が全くでない状態になった。/proc/asound/cardsとかにはちゃんとデバイスが認識されてるように見えるし、/proc/asound/card0とかもある。とりあえずstraceしてみたら、/dev/snd/controlC0/dev/aloadC0が見つからんということのようだ。udevかなあ。手動で/usr/share/alsa-base/snddevicesを実行すると一通り必要なデバイスを作ってくれるけど、OSS互換モード以外はだめぽい。

とりあえずgnome-sound-propertiesで自動検出からOSSに変更しといた。

December 17, 2007

破壊的代入とcopy-sequence

何も知らずにこんなコードをEmacs Lisp上で書いた。便宜上サンプルコードとしてよりシンプルになってはいるけど。

(defun foo ()
(let ((bar '(a b c)))
(if (eq (car bar) 'a)
(prog2
(setcar bar 'e)
(foo)))
bar))

なんとなくbarには常に(a b c)が代入されて無限ループになりそうなもんだけど、最初の呼び出しも含めて実際にはfooは2回しか呼ばれない。これは'(a b c)が実行時に生成されるんではなくて、読み込み時に生成されるからなんだそうな。これを回避するにはlistやconsといった関数を呼び出せばいいようだ。ただこれらの書き換えが出来ない場合には、copy-sequencecopy-treeといった関数を使うことで手間を省くことが出来る。

勉強になった。

mew-ical.el

先日の続き。認証の有無を認識するようにして、必要ならパスワードの入力を求めるようにしてみた。それからMETHOD:REPLYな.icsファイルの場合には、リクエストに対する相手のステータスを表示するようにした。

ファイルは前回と同じ場所に置いた。

December 15, 2007

富良野メロンパン

近所のコジマ前に移動販売がきてた。コンビニなんかでよく見るメロンパンとはちょっと違ってて、メロンの味が結構主張してる感じ。中はふかふかで悪くなかった。とはいえパンなので、時間とともに固くなってしまうので、焼きたてをとっとと食べるのが吉。

December 14, 2007

MewでiCalendar形式のファイルに対応させる

必要に迫られてMewでiCalendar形式のファイルが添付されてきた場合に、設定したカレンダーサーバに対して予定の登録および承認の可否をできるようにしてみた。現時点でできることは、

  • iCalendarの情報を(気持ち)分かりやすく表示する
  • 自分のカレンダーサーバへ登録する
  • ステータスの更新
  • Mewからカレンダーサーバへアクセスする
できないことは、

  • 承諾の可否を選択した後、要求者に対してメールで返信すること
  • 排他制御
  • カレンダーサーバに対する認証の有無の自動検出
  • ローカル時間で表示すること
  • その他多数
現状だととりあえず運用でいくらかカバーできるというレベル。動かすために必要なものは、

  • emacs
  • mew
  • browse-url
  • curl
  • iTIPをサポートしたカレンダーサーバ
ものはこちらからどうぞ。

December 11, 2007

Tag Cloud on blogger

メモ。Setup and configuration for New Blogger Tag Cloud / Label Cloud

Open Tech PressのRSSがGoogle Readerで読めない

まあOpen Tech Pressのに限らずpheedo使ってるやつは該当するみたいだけど、種明かしからすると、インストール時に選択したAdblock Plusのフィルタールールにpheedoのものが入ってて、これがひっかかってたらしい。タグ付けされたのをまとめてとかAll itemsでは見れるのは謎だけど。

ねむい...

さすがに3時間弱の睡眠時間ではちとつらい…。

December 8, 2007

インフルエンザ予防接種

かかったことないけど、去年同様息子のこともあるので、うってきた。

December 7, 2007

再起動なしでIMを変更する

そろそろ手をつけないといかんなあと思い、ちょっといじった。vnc2swfのデモはこちら

追記: 横長すぎたので、800x600で作り直した。

December 6, 2007

Tomboyが動かない

現象はこんな感じ。

** (Tomboy:20454): WARNING **: The following assembly referenced from /usr/lib/t
omboy/Tomboy.exe could not be loaded:
Assembly: Mono.Addins (assemblyref_index=7)
Version: 0.2.0.0
Public Key: 0738eb9f132ed756
The assembly was not found in the Global Assembly Cache, a path listed in the MO
NO_PATH environment variable, or in the location of the executing assembly (/usr
/lib/tomboy).


** (Tomboy:20454): WARNING **: Could not load file or assembly 'Mono.Addins, Ver
sion=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its de
pendencies.

** (Tomboy:20454): WARNING **: Missing method .ctor in assembly /usr/lib/tomboy/Tomboy.exe, type Mono.Addins.AddinEventHandler

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=0.2.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at <0x00000>
at Tomboy.AddinManager..ctor (System.String tomboy_conf_dir) [0x00000]
at Tomboy.NoteManager.CreateAddinManager () [0x00000]
at Tomboy.NoteManager..ctor (System.String directory, System.String backup_directory) [0x00000]
at Tomboy.NoteManager..ctor (System.String directory) [0x00000]
at Tomboy.Tomboy.Main (System.String[] args) [0x00000]

この問題、policy-install scriptがcli-common-devに入ってたことが原因らしく、cli-common-0.5.1で修正されている。ただし、cli-commonをupdateしただけではだめで、libmono-addins-gui0.2-cilとlibmono-addins0.2-cilを再インストールするか、手でpolicy-install scriptを実行しないといけない。

December 4, 2007

iceweasel is too unstable...

add-ons入れて再起動ボタンを押すと戻ってこない(i.e. SEGV起こしてる)とか、最後のウィンドウを閉じると、正常終了せずにクラッシュするとか、空のtooltipsがでるとか、いろいろ問題の多かったiceweaselだけれど、add-onsを無効にしまくったら、問題が起きなくなった。しらみつぶしに調べてみると、tooltipsの問題はNo Scriptを無効にすると消えることが判明。そんなまさかと、新しくprofileを作ってNo Scriptをインストールしてみても問題なし。profileがぼっ壊れてると判断して、引越しを決断した。

全く同じ構成とはいかないけど、似たような構成にしてみて上記の問題が一切起きないことを確認。passwordなんかはPassword Exporterを使った。今のところ快適なり。

人身事故

田園都市線市ヶ尾駅で起きた人身事故のせいでひどい目にあった。駅のホームは人が溢れてしまいには入場規制にまでなってたらしい。電車がきても全然乗れず、乗りすぎて扉が開かないことも。降りる人のために外に出たもののなぜか乗れずにホームに溢れた人とかもいた。ものすごい地獄絵図。

しかし田園都市線って行き帰りで上り下りの混雑状況が見事なまでに反転するんだけど、朝の時間帯で下りで混みまくり、立ってる人もいるとかそういうレベルじゃない状況を見たのは今回が初めてだった。一度電車に乗ったらもうだいぶ混雑も収束方向へ向かってたこともあり、その後は特にトラブルはなく、結局なんやかんやと会社について予定より一時間半遅れ。腰痛い…。

December 3, 2007

screen breaks the terminal layout

Hmm, handling the Japanese input on iceweasel made it terrible after updating to 2.0.0.11-1 on Debian sid. apparently it doesn't filter out the key event even if it's passed through the IM.

Anyway, I have experienced an issue since when I updated screen from some version. that totally breaks the terminal layout, particularly when the line-graphic appears say. that behavior is really annoying and makes it a lot of troubles to me in daily use. So I investigated this issue.

First, I have never seen such problems on F-8. this probably means Debian-specific patches introduces it. looking at debian/patches.... there are the questionable filename there... it is... 40cjk_eastasian.dpatch.
Okay, let's look into the patch. hmm, there are the big tables in utf8_isdouble(). well, that actually deals with Unicode, but not UTF-8. but anyway.
I guess from the function name what is required and assume that it may misnterprets the given Unicode is the wide character. so I simply replaced them with wcswidth(3) and looks good so far.