おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2003年01月22日(Wed) 道路がつるんつるん

iiimf-skkが漢字変換してくれない問題解決編

iiimf-skk-0.1.22では、設定ファイルがあると、 デフォルトが全部リセットされちゃってから、読み込まれます。 んで、skk-plugin-use-dict (辞書への問い合わせにskkserverを利用する) も、falseになってしまうというワケ。 現在は、~/.iiimf-skk/config.xmlがある場合は、最低限、

<item type="bool">
  <name>skk-plugin-use-dict</name>
  <value>true</value>
  <info>辞書への問い合わせにskkserverを利用する</info>
</item>

を書いておく必要があるようです。あと、これもいいかも:

<item type="num">
  <name>skk-candidate-count</name>
  <value>4</value>
</item>

ついでに今の僕のconfig.xmlも乗せとこ。 勝手にDTDを変えちゃってるのはナイショ。

<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE iiimf-skk [
<!ELEMENT iiimf-skk (item|rule)*>

<!ELEMENT item (name, value, info?)>
<!ATTLIST item type (bool|string|num) "bool">
<!ELEMENT name (#PCDATA)>
<!ELEMENT value (#PCDATA)>
<!ELEMENT info (#PCDATA)>
<!ELEMENT rule (key, katakana, hiragana, append)>
<!ELEMENT key (#PCDATA)>
<!ELEMENT katakana (#PCDATA)>
<!ELEMENT hiragana (#PCDATA)>
<!ELEMENT append (#PCDATA)>
]>

<iiimf-skk>
  <item type="string">
    <name>skk-jisyo</name>
    <value>/home/zunda/.iiimf-skk/skk-jisyo</value>
    <info>個人辞書(おくりなし)を格納するファイル名</info>
  </item>
  <item type="string">
    <name>skk-okuri-jisyo</name>
    <value>/home/zunda/.iiimf-skk/skk-okuri-jisyo</value>
    <info>個人辞書(おくりあり)を格納するファイル名</info>
  </item>
  <item type="bool">
    <name>skk-plugin-use-dict</name>
    <value>true</value>
    <info>辞書への問い合わせにskkserverを利用する</info>
  </item>
  <item type="bool">
    <name>skk-egg-like-newline</name>
    <value>true</value>
    <info>SKKのマニュアル参照</info>
  </item>
  <item type="num">
    <name>skk-candidate-count</name>
    <value>4</value>
  </item>
  <rule>
    <key>hh</key>
    <katakana>ッ</katakana>
    <hiragana>っ</hiragana>
    <append>h</append>
  </rule>
</iiimf-skk>

skkconf_private.hを見ながらskkconf.cあたりをいぢってみちゃおうかな? →時間あるんかい。

そんなわけで、光学計算ソフトの最適化中にちょっと内職

こんな感じでいいのだろうか?

Index: lib/skkconf.c
===================================================================
RCS file: /cvsroot/iiimf-skk/iiimf-skk/lib/skkconf.c,v
retrieving revision 1.3.2.50
diff -u -r1.3.2.50 skkconf.c
--- lib/skkconf.c	1 Jan 2003 15:25:05 -0000	1.3.2.50
+++ lib/skkconf.c	22 Jan 2003 10:53:45 -0000
@@ -68,6 +68,7 @@
 static void add_item_bool (SkkConf *conf, SkkConfItem *item);
 static void add_item_string (SkkConf *conf, SkkConfItem *item);
 static void add_item_num (SkkConf *conf, SkkConfItem *item);
+static void add_defaults (SkkConf* conf);
 
 /* Find Item */
 static gboolean find_item_func (gconstpointer p1, gconstpointer p2);
@@ -567,6 +568,7 @@
 	/* reset setting */
 	if (conf) {
 		clear (conf);
+		add_defaults (conf);
 	}
 	doc = xmlParseFile (filename);
 	if (!doc)
@@ -603,7 +605,6 @@
 skk_conf_new (void)
 {
 	SkkConf *ret;
-	gint i;
 	ret = g_new (SkkConf, 1);
 	memset (ret, 0, sizeof (SkkConf));
 	ret->clear = clear;
@@ -613,11 +614,18 @@
 	ret->conf_add_rule_listener = NULL;
 	ret->conf_delete_rule_listener = NULL;
 	/* initialize */
-	for (i = 0; i < SKKCONF_DEFAULT_ITEM_SIZE ; i++) {
-		skk_conf_add_item (ret, &itemp[i]);
-	}
+	add_defaults (ret);
 	skk_conf_ref (ret);
 	return ret;
+}
+
+void
+add_defaults (SkkConf* conf)
+{
+	gint i;
+	for (i = 0; i < SKKCONF_DEFAULT_ITEM_SIZE ; i++) {
+		skk_conf_add_item (conf, &itemp[i]);
+	}
 }
 
 void

gintって何?ってな私ではありますが…。

あ。

もうsourceforge.jpにも入れちゃったんだけど*1、 同じ項目の*confが複数できちゃったりして…。毎度確認不足です。 えーと。lib/skkconf.cのadd_item_bool()に

found = find_item_for_delete (conf->conf_bool, item);
if (found) {
        skk_conf_item_destroy ((SkkConfItem*)found->data);
        conf->conf_bool = g_list_remove_link (conf->conf_bool, found);
        g_list_free_1 (found);
}

とかあるから、キットダイジョウブ…。

*1 cvsにcommitしたんじゃなくて、Feature Requestに出したということです。\ commitするのはちょっとオソレオオイ。

水魚堂の回路図エディタ

おぉ。ネットリストも作れるのかぁ。そのうち使ってみたいな。今は使うシゴト無いけど。まめどれのLinux日記より。

上記のパッチ、ほとんどそのままcommitしていただいちゃいました

さっそくありがとうございます。

しかし、add_defaults ()の引数の*の位置がタイプミスで他の関数と違うのがはずかしいな。cvswebを見ると、今現在アツいのは、NEW_FEATURE IMP_CANDIDATE_WIN ブランチと 幹の様ですね。

tcl-8.3.4-2mとperl-5.8.0-3mが両方ともThread.3.bz2を持っている

結局、tclのものをTcl_Thread.3.bz2に移動させちゃいました(tcl-8.3.4-3m)。 しかし、ちょっとGoogleしてみてもそれらしいページがみあたらない、ってのは、 みんなFHSを無視してるってことなのかな?

そういえば、gcc-2.96のrpmbuildがdefunctになっちゃう問題は、 やっぱり 最初のオモコンの時は起こらないのですね。 ([Momonga-devel.ja:01204]のパッチはあたってないんですよ、これが。) 僕がshort-circuitの操作を覚えてないのは、 僕のせいでは無かったみたいだ。

そういうわけで、 インストール後にビルドしたパッケージのどれかが関係してるんだろうな。


2005年01月22日(Sat) 今日も朝日がまぶしいぜい

エンジニアリング観測。装置間のデータのやりとりには単位が大切だと思った。


2006年01月22日(Sun) 雪積もりました

山頂が雪で通行止めになったというニュースをテレビでやっていた。むっちゃローカルやなー。

[memo] gpgで暗号化したい情報をviで編集する

gpg.elの続き。

Vim Gpgを基に、zunda版のgpg.vimを作ってみました。UnixやOS Xでは、~/.vim/plugin/以下に拡張子を.vimとして置いておけば有効になるみたい。変更点は下記のとおりです。

  • gpgコマンドの流儀に合わせてAscii形式の暗号文の拡張子を.ascにした。バイナリの暗号文は標準出力に出さないようなのでどうしても一時ファイルが必要になる。なんだかいやなのでサポートしない。
  • 署名もするようにした。署名の検証結果はvimのなかからは確かめられない。command-lineに表示される終了コードでわかるとは思うけれど。
  • .ascを除いたファイル名に対するautocommandを実行しない。設定されていないとワーニングが出るので邪魔。
  • ファイルの書き込み時に暗号化されたファイルのバックアップを作るようにした。^Cを押したりして暗号化に失敗すると空のファイルになっちゃうので。

パスフレーズを扱うだけに、このファイル自体の正当性をいつも確認したいところなのだけれど、このファイル自身の絶対パスを中から知る方法がなかったので保留中です。もし絶対パスがわかれば、detached signatureの絶対パスがわかるので、例えばパスフレーズの入力を促す直前に検証ができるんだけどな。

" Transparent editing of gpg encrypted files.
" By Wouter Hanegraaff <wouter@blub.net>
"
" Copied from http://www.vi-improved.org/wiki/index.php/VimGpg and
" Modified by zunda <zunda at freeshell.org>
"
if has("autocmd")

augroup encrypted
	au!

	" no history or swap
	au BufReadPre,FileReadPre *.asc set viminfo=
	au BufReadPre,FileReadPre *.asc set noswapfile

	" reading
	au BufReadPre,FileReadPre *.asc let s:ch_save = &ch|set ch=2
	au BufReadPost,FileReadPost *.asc '[,']!gpg --decrypt 2>/dev/null
	au BufReadPost,FileReadPost *.asc let &ch = s:ch_save
	"au BufReadPost,FileReadPost *.asc exe ":doautocmd BufReadPost ".expand("%:r")

	" writing - always make a (crypted) backup just in case gpg command fails
	au BufWritePre,FileWritePre *.asc let s:bu_save = &backup|set backup
	au BufWritePre,FileWritePre *.asc '[,']!gpg --default-recipient-self -aes 2>/dev/null
	au BufWritePost,FileWritePost *.asc u
	au BufWritePost,FileWritePost *.asc let &backup = s:bu_save

augroup END

endif

(追記)最後から2つめのauコマンドの「*.asc」の部分が「*asc」だったのを修正しました。


2007年01月22日(Mon) 寝坊!

嫌な夢をみたなあ…。まあ、夢でみたことは現実にならない、と思うことにしよう。

[Ruby] 日本 Ruby 会議 2007

ruby-listより、プレゼンテーションを募集しています、とのこと。締め切りは1月31日。行きたいなあ。出張ないかなあ…。

[DocoMomo] docomomo-0.3.10

昨日思いついた、USBじゃなくてハードディスクから起動するGRUBメニューを実装しみました。

追加したメニューは下記のような感じ。期待どおり、ハードディスク上のgrubからメニューを選んで選んでWndowsが起動できました。

title Normal Harddisk
        map (hd0) (hd1)
        map (hd1) (hd0)
        root (hd0)
        chainloader +1

DocoMomoのtar ball置き場からどうぞ。

本当はファイルシステムのイメージを配りたいんだけど、そうすると入ってるパッケージのソースも一緒に配らないといけないんだよね。sourceforge.netにお願いするかとも思うのだけど、Project Web Pageはそういう用途に使ってはいけないようだ。

[tDiary] 後日談プラグインの使えるtDiaryのバージョン

イニシャルAKな人々」で、「リンクが追加されないので格闘中」とのこと。たぶん2.0.xでは使えないのではないかと思います。すみません。

このプラグインはadd_section_enter_procが必要で、CVSを見ると、このメソッドは2.1.3.20051012で追加されたようです。ですので、たぶんこのバージョン以降のtDiaryでなら後日談プラグインが期待通りに動くはずです。

Happy Hacking

Richard Stallmanさんの講演を聴いてきました。こんな田舎に来てくれるなんて。元気が出たよ〜。

話の内容は、どうしてLinuxではなくてGNU/Linuxと呼ばなければいかないか、などといった話でした。実はいままでは変なの、と思っていたのだけれど、いやいや、直接聴くと納得しますね。他にもいろいろメモしておきたいのだけれど、とりあえず簡単なところから。

僕は、Freeなドライバだけで使えるハードウェアが使いたい(カーネルを変えるたびにXが起動しなくなるなんて嫌だよね)のだけれど、どうすればいいのか。

Richardによると、FSFが安心して使えるハードウェアのリストを用意しはじめている、とのことでした。FSF - Hardware Devices that Support GNU/Linuxかな。真にFreeなGNU/Linuxのひとつである、gNewSenseを手元のマシンに入れてみて、動いたハードウェアと動かなかったハードウェアを報告してね、とのこと。gNewSenseはLiveCDもあるみたいなので明日にでもやってみよう。

[tDiary] 本日のリンク元もうちょっと強化プラグインのメンテナンス

http://blog-search.yahoo.co.jp/ から検索語句を抽出できるようにしました。CVSかこの日誌で使用中の言語リソースをどうぞ。

…ってこれくらいならtdiary-develをお騒がせすることはないよね。

本日のツッコミ(全7件) [ツッコミを入れる]

> miyasaka_m [後日談プラグイン、使わせてもらってます。が、ちょっと気になる挙動を見つけたので(ここで良いのかわかりませんが)報告し..]

> zunda [ご報告ありがとうございます。できるだけ早く確認して修正します。勝手ながらちょっとお時間をください。]

> zunda [お知らせいただいたバグを再現できました(rev 1.7)。原因の特定と修正はしばらくお待ちください。すみませんです。]

> miyasaka_m [対応していただきまして、ありがとうございます。もう一つ、このバグとは関係ないのですが、このプラグイン、htmlヘッダ..]

> zunda [とりあえず、バグへの対応をしたものをrev 1.8としてcommitしました。リンクの追加の際に月ごとに持っているキ..]

> zunda [my-sequel.rb,v 1.10で、miyasaka_mさんにいただいたCSSのインデントの変更をしました。ど..]

> miyasaka_m [バグを修正していただきまして、ありがとうございます。私が運用している日記にもインストールしまして、正常動作を確認しま..]


2008年01月22日(Tue) 山は晴れ

[run] となりの大学坂道コース1往復 12分11秒

もっとゆっくり走りたいのだけれど会議を控えて筋トレコース。右ひざがすこし痛んだ。


2010年01月22日(Fri) 山から見たらすっごいvogでした

[pda] タスク管理にRemember the milkを使ってみる

アカウントを作ったら、SunbirdにRemember the Milk Providerを入れて…sandboxアカウントが必要なんですね。

しばらくはPC上でもAndroid上でもwwwブラウザから使ってみることにしよう。RTMはGoogle gearsを使えばofflineでも使えるみたいだけれど、Android 2.1のwwwブラウザは「not currently supported」だそうだ。あれ?Androidはサポートしてるみたいだけれど。

…と悩んでいたら、takkanmさんからAstridでRTMと連携できるとのありがたいお知らせが!早速インストールしてみました。ありがとうございます!

…なんて遊んでたら携帯電話網につながってないのを発見。パワーサイクルしたらつながりました。山に行ってたのでつながらない時期があったのは確かだけど戻ってもそのままなのはちょっと気持ち悪い。

そしてtwitter用にはswiftを入れてみましたよ。tumblr用はまたこんど。


2011年01月22日(Sat) 宇宙ないちにち

友人たちのおシゴトを見学に地下鉄ででかける。Yahooの乗り換え案内に従って進んでいくと、高田馬場で地下鉄を一本逃してしまいました。遅刻してごめん。もう東京での生活にはついていけなくなりつつあるのかもしれない :D

昼ごはんはアメ横の海鮮丼屋さん。いいねえ、こういうの。

上野の国立科学博物館で空と宇宙展を見学。わくわくするものがいっぱーい並べられてました。イカロスの帆、でかいねっ!

夕食のために秋葉原方面に移動。駅ビルが僕の知ってるのと全然違う!

途中、秋月電子に久しぶりに寄ったあと、偶然見つけた携帯もの屋さんドロイド君ストラップを購入。これ、ずんかに欲しいって言われちゃったよ♪そうして辿りついたおいしいおいしいお蕎麦屋さん。日本を堪能!どうもありがとう。帰りには駅ビルの中でケーキもいただきましたよ♪


2017年01月22日(Sun) 相変わらずWindowsとは相性が悪い

ドンキタブレットの内臓スピーカーから音が出なくなる

Windowsでの検証作業も必要よね、と思いつつ買ってきたドンキタブレット(ジブン専用PC & タブレット KNWL10K-SR)、Bluetoothのスピーカーから音を出しながらNetflixでドラマを眺めてたりしたら本体スピーカーから音がでなくなりました。

こういう時はドライバの再インストールだよね、というわけで、本体スピーカーのドライバがIntel SST Audio Device (WDM)、Driver Date 2015-08-09、Driver Version 604.10135.2747.5232というのを確かめてからUninstallしました。さて、リブートして再インストール…みつかりません。じゃあいっそWindowsのリセット…みつかりません。

このマシン、システムイメージを持ってないみたいですね。復元ポイントも設定されていないし、同じバージョンのドライバをどこからか探してきても「Driver is not intended for this platform」。ドン・キホーテのサイトからもダウンロードできなさそうな感じで、音のでないマシンになってしまいましたとさ。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>