2008/07/19(土)serene bach -> adiaryへの乗り換え

2008/07/19 14:00 PC(全般)
serene bach -> adiaryへの乗り換えの理由。

* serene bach
o 記事-記事リンクがめんどくさい
o プレビューできない
o wiki記法(sbtext)の使い辛さ(記法が独自で少な目)
o ソース張りのあたりで若干いじらないと表示がうまくいかない
o ちょっと遅い
o 微妙に更新がめんどくさい
o 一部設計が不可解(インポート時の連番とか)
o 記事編集にいちいち管理ボタンから入る必要がある

* adiary
o 記事-記事リンクが書きやすい
o プレビューはできないが動作が軽快なので何とか
o wiki記法は比較的互換性が高く使いやすい
o ソース張りOK
o 動作軽快
o 多機能
o ログインすれば各記事に編集ボタン表示
o 実行ファイルは1ファイルなので更新容易

さて、まずは人によっていろいろ意見が分かれるのを前提で、自分の意見としてはこうであるということを宣言しておく。

日記・あるいは記事作成システムとして、「機能の有無」だけで判断するなら選択肢はいくらでもある。

自分の欲しい機能はせいぜい、

* 日付やタイトルの位置・表示方式カスタマイズ
* 2階層掘れるカテゴリ
* 記事内リンクのやりやすさ
* リスト表示
* 簡易検索
* あればうれしいアクセス解析

等々で、当然のごとくMTもtDiaryもプラグインで対応可、あるいはハックでどうにかなるようなものばかりだ。

一方で、日記に使うようなシステムでプラグイン方式を徹底化されるとどうも煩わしさが先に立つ。

複雑化しやすく、人によって求める機能が違うようなシステム--
そういうシステムでは本体機能を最小限に抑え、プラグインで機能の追加を実現するようにした方がスマートだ。それは間違いない。

しかし、事件は突如「プラグイン同士の相互関係」という現場で起こる。

さすがに衝突は回避されることがほとんどだ。しかし、あるプラグインがデザインを変更し、あるプラグインが遷移状態を追加したとする。そうすると追加された遷移先でデザインが崩れる、といったことが起きる。。

それに加えて、各プラグインのバージョンアップ、当然本体のバージョンアップもあるから事態は混迷の一途をたどる。オプションの追加、パラメータのオプション化あたりで匙を投げたくなってくる。

ここら辺はコミュニティの人数にも関わってくるし、自分の使い方が大勢と異なっていればいるほど煩わしさが増すという苦難も伴う。あーめんどくさい。

自分で作る? もちろんそれもよい。あなたに相応の時間とセキュリティの知識があるのならば。

そんなわけで本体機能のみでリッチなシステムを求めたくなる。KShikiもserene bachもそういう発想で導入したCGIだった。そして今回adiaryに乗り換えた。

もちろん乗り換えたんだから過去の両システムともに不満はあった。ただそもそも不満が発生するのは当然「本体機能のみでリッチなシステム」を求めた自分が悪いわけでこれらが悪いものであるといっているわけではない。

当然後発組の方が出来がよいという実態もある。

adiaryのよい点はまさに単独でリッチ。本体のみでhatenaもどき+wikiもどきを実装できていること。おおまか自分の求める機能を備えていること。さらに動作の軽さも特筆すべき点としてあげてよいと思う。

2008/07/05(土)Memo移行しました

2008/07/05 15:42 PC(全般)
MemoのCGIエンジンを入れ替えて、serene bach -> adiaryに換え、アドレスも移行しました。

新アドレスは、
http://www.dt8.jp/cgi-bin/adiary/
(ここ)になります。

なお、当面旧版は残しておきます。

mod_rewriteしてリダイレクトっぽくしようと思ったら、sb側の記事番が日付順になってなかったので諦めました。本当は301 Moved Permanentlyとかも処置すべきなんでしょうが、そうアクセスがあるページでもないし、記事番リダイレクトもできないようではということで特にやってません。

入れ替えの理由は次の記事にでも書きます。

あー、それにしても書きやすくなりましたね。

2008/06/26(木)RADEON+リモートデスクトップ

2008/06/26 23:04 PC(全般)
リモートデスクトップで入っているマシンの電源を、リモートデスクトップ内からシャットダウンさせた場合に、Windowsがati2dvag.dllなどでブルースクリーンを吐いてストップしてしまう問題。

ああややこしい。

ちなみにうちの環境はAMD 690G(Radeon X1250) + Windows XP SP2。

前回調査したときの結論は、ドライバのバグである上に「解決方法無し」で終わっていた。一部、ドライバのバージョン次第で解決するという情報もあったのだが、どうやら環境依存らしく、

・新しくしたら直った
・古くしたら直った
・直らなかった

と要領を得られず。手元でも最新や1つ前など何度か試したものの、ダメだったので諦めていたのだった。

さて最近どうなったのかと思い立って久方ぶりに調べてみたのだが、

http://rip747.wordpress.com/2008/01/22/ati2dvagdll-bsod-and-erratic-behavior/
とある。

意訳すると、

「ヘイガイス! 今日は耳寄りな情報を教えようじゃないか。リモートデスクトップでブルースクリーンになる問題の件だけど、つい6日前に出たドライバ入れたら見事解決したんだぜ! ヤホーイ! 2008/1/22」という話。
これは、試してみる価値有りということで、さっそく690Gのドライバを更新(メモ忘れ -> 6.14.10.6822)してみた。

結果。まだ1回シャットダウン試行しただけではあるがブルースクリーンは出ず。今まで100%ブルースクリーンになっていたはずなので、OKになったようだ。

正直この問題が煩わしいがためにGeforceへの乗り換えを真剣に考えていたこともあり、個人的な使い勝手の向上として高得点である。まあしばらく様子を見てみよう。

2007/12/15(土)WindowsXPの修復セットアップ後にWindows Updateができない

2007/12/15 01:05 PC(全般)
サブマシンのマザー入れ替えに際してWindowsを修復セットアップすることでごまかしたのだが、そのあとWindows Updateが通らなくなっていた。

具体的には以下のような状況になる。

Windows Updateすると、以下のダイアログが表示される。



一部の更新プログラムはインストールされませんでした



そして更新できない。
 更新の失敗
更新プログラムのインストールに関するトラブルシューティングついては、各問題の説明に表示される解決方法を参照してください。

問題: 詳細については、 更新履歴 を確認してください。
Windows Genuine Advantage 確認ツール (KB892130)
インストールに失敗しました 

エラー コード: 0x80080008  

更新プログラムをインストールし直すか、次のいずれかのリソースからサポートを利用してください。 
セルフ ヘルプ オプションは次のとおりです。

よく寄せられる質問 

解決方法の検索 

Windows Update ニュースグループ 
サポート オプションは次のとおりです。

Microsoft Update お問い合わせ窓口 (更新プログラムに関する問題の場合は無料) 

印刷 | 閉じる  
そしてエラーメッセージを検索しても何も出てこない。なおかつMSのサイトからは何ら有益な情報は入手できなかった。

で、ネットをさまよっていたら、対処法が書かれているサイトを発見した。

http://www.kotaete-net.net/Default.aspx?pgid=14&qid=40147567026

http://shoden-hougagu.blogspot.com/2007/08/windows.html
要は、Update Agentのバージョンが狂っているのがいけないらしい。え、それの整合性を取る方法がWindows Updateで提供されてないってどういうこと?

対処法は、

http://support.microsoft.com/kb/937383/ja
から、windowsupdateagent30-x86.exeをダウンロードし、

windowsupdateagent30-x86.exe /wuforce (/wuforceは不要かも)

とする。これでなんの問題もなくWindows Updateが通るようになった。


しかし、改めて思うがMSのサポートページは何かがおかしい。該当kb/937383を見るに、特定のエラーコードに対してUpdate Agentの更新が効くかもとしか書いていない。エラーコードと対処法があたかも1対1関係のように示されている。

ユーザが余計なことをしないようにするのが正しいサポートだというMSの基本概念に従えばこれも1つのスタンスなのだろう。しかし、ならばエラーコードをもっと徹底的に縛っていただきたいのだ。エラーメッセージと問題と解決方法を完全に対応させてほしい。しかし、今回は「なぜかうまくいきませんでしたエラー」のようなものが出てしまった。このサポートページの書き方では、そのエラーから解法にたどり着くのは容易ではない。

Update Agentのバージョン違いでWindows Updateができなくなることがあります、と書いてその事由を説明するようにしておいてくれれば、もっと早くたどり着けたのに。

2007/11/30(金)intuos3その後

2007/11/30 16:50 PC(全般)
・若干頻度が減ったようには思うが(プラシーボ?)、intuos3での「ドライバのバージョンが違います」エラーはまだ時々出る。

海外のWACOMサイトのForumをのぞいてみると、出るわ出るわ。どうやら頻出問題のようだ。

http://www.wacom-europe.com/forum/topic.asp?TOPIC_ID=6456
まとめると、

・WACOM側の対応は一貫してドライバ更新してくれ

・直る人もいる、直らない人もいる

・多分ドライバの問題(ていうかinfにintuos3が無いように見えるんですけど…… 関係ない?)
うーん現状問題が出なくなるドライバがリリースされるのを待つしかないようだ。

2007/11/30(金)コメント・トラックバック受付やめた

2007/11/30 15:54 PC(全般)
スパムばっかなのでSerene Bachでこれ以上の対処は無理と判断した。

いやなんだろうね。ちゃんとすればちゃんとできるとは思うけど、sbにそこまで貼り付ける勇気がないというか…… サーバ早くなったし、もうMovableTypeでもtDiaryでも何にでも乗り換えられるってことは分かってる。でも乗り換えのコストもばかにならない。

あーでももうPerlとPHPは読みたくないよう。

(追記)と思ったらsbでは、再構築し直しても過去の記事ではコメントの受付を拒否できないようだ。あっはっは、sb切ろうっと…… とりあえずLimit POSTでローカル以外からのPOST禁止にしてみた。当面ツッコミがあれば掲示板によろしく。

(今日のハマリ)

.htaccessのOrder Deny,Allowのところでカンマにスペースを挟んではいけないらしい。うは。
(ハマリ追記07/12/07)

Limit POSTとすべきところに、Limit Postとしていたため全スルー。動かないでやんの。Apacheの仕様は難しいねえ。

2007/10/27(土)Exact Audio Copyがfreedb取得時に落ちる

2007/10/27 05:14 PC(全般)
EAC0.95b2でUnhandled exceptionダイアログに、

CDDB.2778->ASSIGN-RANGE

エラーが提示され、アプリが落ちる問題。

これはCDDBから得たデータに対して、範囲判定が失敗しているために起こる。CDEXでチェックしたところ、当該CDではyearの項目に"19970221"という値が入っていた。これが4桁整数の範囲でないから失敗ということだろう。

判定そのものはいかにもやりたくなるものではあるが、freedbは運用上緩くデータを受け入れているから、これで落ちるのではちょっとおかしい。

0.95b2では対処方法無し。CDEXなどのソフトで無理矢理freedbの該当エントリを書き換えるくらい。

0.99pb3では落ちる問題は改善している。ただし、yearの値は無記入になる。

2007/10/05(金)拡張デスクトップでmedia player classicを再生するには

2007/10/05 11:08 PC(全般)
拡張デスクトップ(2画面別描画)でデュアルディスプレイにしてやったときに、サブ側のディスプレイでmedia player classicを立ち上げると再生がスタートしないことがある。

対処法としては「タイムバーのカーソルをワンクリック」する。再生、停止ボタン等をいじっても一切動かないので注意。

自動的にスタートしてくれれば一番いいのだが、今のところその設定は見つけていない。

2007/10/05(金)uwscで取り扱いづらいメニュー項目

2007/10/05 10:49 PC(全般)
uwscではCLKITEM(id, "ファイル\新規作成")等と書いて、アプリケーションを操作できるようになっている。しかしこのCLKITEM、アプリケーションによっては上手く動かない。

おそらくはMenuItemがOwnerDrawな奴とか、動的生成してる奴は大概ダメということのようだ。サクラエディタ、PhotoShop CS3なんかは全然ダメ。

さて、ダメなアプリではどうするかということだが、uwscに付属のChkCtlIDでチェックするというのが一手。要するにWM_COMMANDで渡っているidを調べてやることになる。上手く見つけられれば、
DEF_DLL PostMessageA(Hwnd,Long,Long,Dword):Bool:user32.DLL // PostMesssageの定義
WM_COMMAND = $111
とか定義してやって、
PostMessageA(IDTOHND(Photoshop_id), WM_COMMAND, 20)
とかで投げる。うーんここまでやるなら、なんかRubyでuwscの機構を実装した方が良くないだろうか。車輪の再開発か。

対象としているのが動的フォームなどの場合、ChkCtlIDでキャッチしづらければWinSpectorとかでWM_COMMANDを選り分ければ見つけられそうだ。

それにしても最近はいいスパイツールがフリーであるなあ。Winspector, uuspy, Windowscontrollerあたりで商用ツールいらないんじゃないだろうか。いやちゃんとした商用ツール使ったこと無いんだけどさ。