PC関係のメモ
Sunbird プロジェクト / SVGについて調査
Sunbird プロジェクト
Mozilla Calendar から独立したプロジェクトらしい。単体のカレンダーが欲しいと思ってたから期待したい。
想定しているユーザは、Mozilla Firefox (または他のブラウザ) を自分のブラウザとして、 Mozilla Thunderbird (または他のメールクライアント) を自分のメールクライアントとして使っており、 Mozilla に基づいたカレンダーアプリケーションを欲しがっているような人です。
なんか昔のNetscape Communicatorみたい。なんでセットにしたがるんだろう。FirefoxやThunderbirdがいいとか悪いとかではなく、なんか依存しあってる印象がある。とはいえ
カレンダー単体に的を絞って、不必要なコンポーネントや chrome を取り除けば、カレンダーアプリケーションの全体的なフットプリントやパフォーマンスに、多少なりとも影響を及ぼせるのではないかと私たちは考えています。
とも書かれてるのでむしろこっちのほうに発展して欲しい。
SVGについて調査
数値データを画像として画面に表示しようと思ってどんな実装が簡単か考えてみた。
- VCなりVBなり使ってWindowsプログラムで画面に表示。
- 面倒、時間かかる、汎用性なし
- 勉強用としては悪くない。無駄にDirectX使ってみても良いし。
- 数値データからBMPなりJPEGへの書き出しツールを作る。
- 面倒、つまらん、汎用性はそこそこ。
どっちもいまいちだし何より手間をかけたくない。
というわけでSVGを使ってみるのはどうかと思った。SVGならテキストデータだからperlで組めば多分数十分かからずに形になるだろう。表示はプラグインが面倒見てくれるから楽。
MozillaのSVG部分取り出して画面に表示してみるのも面白そうだけど多分やらない。
Google Calendarを使ってみた
今更ながらGoogle Calendarを使ってみた。
といっても行った動作はこれだけ。
- 予定を追加
- 公開用カレンダーを追加
- 公開用カレンダーに予定を追加
面白そうなのは「カレンダー」という概念。Google Calendarでいう「カレンダー」とはおそらく予定の集まりのことだと思うが、その「カレンダー」をレイヤーのように重ねることができる。
そして「カレンダー」単位で公開し共有できるので、例えば誰かが「オープンソースイベントカレンダー」を公開していたらそれを自分の予定に重ねてみたり、「祝祭日カレンダー」を重ねてみたりなんてことができるんじゃないだろうか。(って、たった3つの動作を見ただけなのでかなり憶測)
しばらく遊んでみる。
「tDiary-mode for xyzzy」を「tDiary 2.3」以降に対応させる。(UTF8対応) / ディレクトリ内のファイルを全部gzip圧縮するシェルスクリプト / Hyper-Estraierのインストール / 一般ユーザ権限にActiveDirectoryのグループポリシーを使ったソフトウェアの展開
「tDiary-mode for xyzzy」を「tDiary 2.3」以降に対応させる。(UTF8対応)
ハハハハさんが公開されている超便利な「tDiary-mode for xyzzy」。
http://www20.big.or.jp/~rin_ne/soft/tdiary-mode/
残念ながらtDiary 2.3以降には対応していない。
原因はtDiaryの文字コードが2.3以降、EUCからUTF8に変更されているため。
というわけで、適当に対応させる。
「多分eucって書いてある箇所をutf-8とかutf8に置換すればOK」でしょ。っていう方針。
結論から言うとそれで出来た。
置換方法は下記でOK。ハイフン有無を注意。
- 「encoding-euc」を「encoding-utf8」に。(utf8の様にハイフン無し)
- 「map-internal-to-euc」を「map-internal-to-utf-8」に。(utf-8の様にハイフン有り)
expansion.l:96:;; (si:www-url-encode (map-internal-to-utf-8 str) nil " ") expansion.l:100: (si:www-url-encode (map-internal-to-utf-8 str)) "+" "%2B")) http.l:78: (change-fileio-encoding (or encoding *encoding-utf8n*)) http.l:82: :incode (or encoding *encoding-utf8n*) http.l:83: :outcode (or encoding *encoding-utf8n*))) http.l:152: (change-fileio-encoding (or encoding *encoding-utf8n*)) http.l:157: :incode (or encoding *encoding-utf8n*) http.l:158: :outcode (or encoding *encoding-utf8n*))) tdiary.l:146: (defvar *tdiary-encoding-system* *encoding-utf8n* tdiary.l:750: (change-fileio-encoding (or *tdiary-encoding-system* *encoding-utf8n*)) tdiary.l:850: *encoding-utf8n*))
expansion.l:96はコメントなのでどっちでもいい。
注意点としては、「encoding-utf8」ではなく「encoding-utf8n」である点。違いはBOMの有無。
最初「encoding-utf8」としたら、BOM(Byte Order Mark)が入っているせいで「<U+feff>POST」のようになってしまい失敗した。
ディレクトリ内のファイルを全部gzip圧縮するシェルスクリプト
Apache等のログファイルが肥大化してる等の理由から、ファイル単位で全てgzip圧縮するためのシェルスクリプト。
#!/bin/sh
for i in `find . -name '*.log.*'`
do
echo "gzip -f $i"
/bin/gzip -f $i
done
「-name」の検索条件はログの名前により変更する。
ディレクトリ単位で圧縮するより、ファイル単位で圧縮するほうが、後でzcat等で中身見る際に便利。
Hyper-Estraierのインストール
下記が大変参考になる。
一般ユーザ権限にActiveDirectoryのグループポリシーを使ったソフトウェアの展開
グループポリシーオブジェクトを使ったソフトウェアの自動配布について調査したのでメモ。
大きく2つ方法がある。
- コンピュータに対して割り当てる。
- ユーザに対して割り当てる

この2つの違いは下記。
- コンピュータ
- ローカルのSYSTEM権限でインストーラが実行される
- 展開方法は「割り当て」のみ。「公開」は選択不可。
- インストールタイミングはOS起動時ログオン前。
- ユーザ
- ドメインのユーザ権限でインストーラが実行される。
- 展開方法は「割り当て」と「公開」から選択できる。
- インストールタイミングはログオン後。
特に重要なのは「コンピュータの場合ローカルのSYSTEM権限だが、ユーザの場合ドメインのユーザ権限で実行される」ということ。
よって、下記2点に特に注意が必要となる。
- ユーザが一般権限しか持っていないような環境で、管理者権限が必要なソフトウェアをインストールする場合、コンピュータを選択することになる。
- コンピュータの場合、インストールポイントとなるフォルダのアクセス権限は、ドメインユーザ以外のユーザもアクセス許可すること。
特に後者、気づきにくいので注意。


_ gd [libpngは?]