◆昇給. 1 月の昇給分と合わせると結構な増額. いや,1 月時点では「上がってない…」とか思ってたんですが,それは贅沢というものでした.
◆どたばたして過ごす.
◆20:30 退社. また雨が降っている….
◆まだ 22:00 ですが,どうにも眠いので寝ます. 今週は時間が過ぎるのが早かった.
◆5:30 起床. 正確には 4:30 に目覚めたものの二度寝.
すばらしくすがすがしい朝…ということでもうひと眠り. お休みなさい.
◆11:30 に再び起床.
◆「英語の作法」を読み進める. 基本的に文体論の教科書なので演習問題をやりながらぼちぼちやってるけれど,レベル的にはちょっときつい.
特に詩とかでてくるとダメダメ. もっとも,詩が分かるようになるまで英語を勉強するつもりはまるでないですが(^_^;
◆酔っ払ったオヤジ風の人から間違い電話が連発してかかってくる. 失礼な人ではないのでさほど不愉快ではないけれど,オヤジからの電話,というだけで悲しいものが.
◆PDA というか Palm 欲しい熱が急上昇. PDA にはスケジューラ機能くらいしか求めてないので今まで PI-6000 という古えの機械を使ってたんですが,最近は Schedule+ で外から突っ込まれるスケジュールが増え,さすがに対応するのが面倒になったため. 何で Palm かというとそれは PVNS があるから(^_^;
ということで,要件は以下の通り:
しかし,Palm についてはまったくの素人なので,どこから目を付けて良いのやら(^_^;;
◆昼起き.
◆Palm を見繕うため,コンプマートに出かける. とりあえずブツを見るのとパンフの収集.
◆コンプマートでは,結婚して遊んでくれなくなった同期と偶然会う. 新居に遊びに行く話*1とか,彼は最近尿管結石(?)で大変だという話をする.
◆どうもです.教えてもらったリンクがすごく参考になりました. 買うなら Palm Vx と WorkPad 50J のどっちかですね.
これも参考にしつつ要件を確認:
逆に言うと標準ではダメらしいが,同期の相手が商用アプリじゃ仕方ないか.
Palm Vx と WorkPad 50J という点では,PVNS を意識すると Vx が安全っぽいけれど,付属ソフト/付属品は 50J の方が魅力的. うーん,どっちにしよう…4/28 日に店に行って,勘で決めよう(^_^;;
◆久しぶりにとらハ2. 薫シナリオと十六夜シナリオ.
いい感じ.
◆アドバイスどうもありがとうございます(^_^).Yossy さんの環境は Vx 英語版ということは,僕が前に思ってた「Vx(日本語版)は PVNS 有利」というのはちょっと違うみたいですね.
しかも IIIc も PVNS 対応ということで,結局,候補としては Vx, 50J, IIIc の 3 つが横並び(^_^;
ちなみにデザインはあんまり気にしないし,価格もこのあたりならどれでも OK です.
となると,やっぱり選ぶのが難しい(^_^;
◆pvns-ml を subscribe.
*1 | 何度も企画だおれになっている(^_^; |
◆給与明細をもらう. 今月の残業代は 50J を 2 台買ってちょっと余るくらい….
◆去年の成果と今年の mission についてボスと面談. 一応夏のボーナスはもらえるらしい(^_^;
◆Yossy さん,sugich さん,情報ありがとうございます〜.
ここ数日で色々な人に色々教えてもらったおかげで,色々な話が見えてきました. わたくしは幸せものです〜.
後は開発環境ですが,PVNS のソース付属のドキュメントによると*1ビルド環境は Cygwin とのことなので,まずはその線で行ってみるつもり.
でも Palm のPRC-Tools のページを見たら Linux 用の PRC-Tools 2.0 があるので,気合いを入れれば Linux でもコンパイルできるかも.
*1 | 利用ツールに茶筅があるのは渋い… :-) |
◆グループのメンバーをひとりよその部に取られた….
でもって,うちのグループのメンバーが(ボスを入れても)4 人に減って,また忙しくなる予感…というか,そんなの予感でも何でもないか. ううっ(T_T).
◆cvs の CVSROOT って checkout できるのね. 知らなかった(^_^;
それはそれとして,ローカルの CVS 環境でその辺りをいじってたら,テンポラリの CVSROOT と間違えて本物の CVSROOT を消してしまった…. cvs はおうち LAN でのソースファイル共有にしか使ってないので,ダメージは小さけれど,やっぱり痛い(T_T).
◆Palm を買う前に先手を打って,Win 環境に Cygwin を入れておこうということで,
の取得を仕掛ける. しかし Cygwin って,ミラーサイトによってミラー状況が結構違う….
◆明日は早出 & 出張なので早く寝ます.
◆ひと仕事してから出張.
出張の移動時間の兼ね合いで昼飯を食べ損ねる. 朝はいつも食べないので,結局 18:00 まで飲まず食わず. おなかがすいてせつない.
◆移動の電車の中で「英語の作法」を一通り読み終える. あと 8 冊. この本の演習問題(穴埋め)の
DON'T PANICは何だか今の自分の状況にはまりすぎ*1(^_^;;
The only person to have everything done by Friday was ().
◆22:30 退社. 金曜こそは何とか 18:00 で定時退社する算段を立てないと Palm が買えないぞ(^_^;;
◆Cygwin のインストールの続き.
昨日持ってきた full.exe を実行したら,自己展開の途中でこけた(T_T). wget をやり直してみたら,昨日取得したところから full.exe が消えている…. うーん,ものすごくイヤなタイミングにぶつかってしまったのだろうか.
仕方ないので latest ディレクトリから setup.exe を入手して実行. インターネット経由のインストールを試みる.
PPP 接続環境なのでかなり不安だったものの一回接続が切れた以外は特に問題なくインストール終了. よかった.
いくつか環境変数を設定した後,動作チェックがわりに gcc で "Hello, world :)" をコンパイル. OK :-)
*1 | もちろん洒落でかけてあるほうの意味. |
◆GW 進行で打ち合せ漬け. GW 進行というよりも,US にはゴールデンウィークという考えがないのから歪みが出てるのか?
◆部内レク担当(のひとり)として新人歓迎ボウリング大会の幹事の打ち合せ. まずは PS2 を景品にすることに成功*1.次は自分で商品をゲットするためにボウリングの練習か?
◆明日は真っ当に仕事をすると Palm を買いに行けなさそうなので,昼休みに脱走する計画を立てる. 計画と言っても,会社の駐車場のポールポジションに車を止めて,今日は徒歩で帰るというだけですが(^_^;;
今日はちょうど飲み会だし.
◆ということで,4 月いっぱいまでうちの会社に来ていた SE の人の送別会.
◆LZW 圧縮の GIF と非圧縮の GIF を完璧に見分ける方法はないらしい.
ヘッダ部分のフラグで区別しているのかと思ってたのですが,実はそうではないんですねぇ.
Graphics File Formats FAQ の "7. Is there an uncompressed GIF format?" の項目によると(和文は拙訳):
Subject: 7. 非圧縮の GIF フォーマットはあるのか?
GIF の特許に関する議論の本質は LZW データ圧縮のアルゴリズムそのもので あることを知ったら,LZW アルゴリズムを使わずに読み書きできるような, 何の処理もしていない/非圧縮版の GIF はないのかと思うことでしょう. 公式にはこの答えは「ノー」です.
GIF の仕様では非圧縮のビットマップデータを格納する方法は定義されてい ません.GIF ファイル内の全てのビットマップデータは LZW アルゴリズムを 使って圧縮されているのです.GIF 形式を使って非圧縮のデータを格納するよ うなプログラムを書いたとしても,このプログラムが作った GIF ファイルを デコードできるような GIF 読み込みプログラムはありえません.
すると,LZW 特許で示されたフォーマットにならないように GIF ファイル 内の圧縮されたデータを書き換えて,しかも GIF デコーダで読めるようにす る方法はないのでしょうか? ところがその答えは「イエス」です!
GIF ファイルを圧縮するときには,初期 LZW コード表は LZW エンコードしよう としている未処理の画像データのビット深度(bit-depth)に基づいて作られま す.例えば,4 ビット毎ピクセルのビットマップは,初期状態で 18 個の エントリを持つ LZW コード表を使ってエンコードされます.このコード表の 内容は 00000 から 01111 の範囲で表される 16 個の色コード, クリアコード(10000),データ終端コード(10001)となります.
LZW のエンコード処理が進んでいくにつれて,データから出てくる色コードによって 新しいエントリが作られますが,この新しいエントリの作り方が LZW エンコーディングの本質的な部分です.ここで,エンコーダが初期 LZW コード表だけを使い,表の新しいエントリコードを全く作らなければ, エンコードしてできる全てのデータは,GIF ファイルのアクティブカラー テーブルが持っている色のインデックスを表すコードになります.
この処理は 1996 年 12 月に Tom Lane 博士が comp.graphics.misc に投稿し た記事で解説されています:
…このアイディアは,データとしては単独シンボルを持つ文字列コードだけを 出力し,これに加えてデコーダがコードの幅を広げるのを防ぐために時々 クリアコードを出力するというものである. この方法では,エンコーダはピクセルの値を N ビット毎に N+1 ビットの フィールドに入れ込むことを単に繰り返すだけである. 特許になるようなところは全くない. データは圧縮されないだけではない点に注意すること. むしろ *増える* のである. つまり 8 ビットの GIF の場合は 9 ビット毎ピクセルが必要となる. また,このトリックは深度の小さいデータでは使いたい代物ではないだろう. 最悪ケースとなるのは 1 ビット(白黒)のデータである. 2 ビット毎ピクセルが必要なだけではなく, コード幅を 2 ビットに保つためにはシンボルをひとつおきに クリアコードとしなければならない…結局,データが正味 4 倍に増えることになる.このエンコーダは結局,データ N ビットごとに N+1 ビットを格納し,2^N-2 個 のコードごとにクリアコードを格納することになるので,8 ビットの 「非圧縮」 GIF 画像は,同じデータを LZW 圧縮した GIF と比べると 8 倍 もの大きさになります.
さらに数日後に Tom が解説をしています:
ただし,デコーダがシンボル幅を増やすのを防ぐためには,かなり多くの 「クリアコード」を挿入する必要がある点に注意すること.あるいは,そうし ない場合は,現在のシンボル幅がいくつであるべきかを常に把握すること. この問題を詳しく考えてしばらく経つものの,シンボル幅を N+1 ビットに押 さえようとするのであれば,クリアコードはコード 2^N-2 個おきに必要であ ると考えている(N は対象データの深さ).[追記: この内容を含めて Usenet 上で解説をしてくれた Independant JPEG Group の Tom Lane と Bellcore の Neil Aggarwal に感謝します]
アルコール入っているので誤訳御免です*2.間違いがあったら指摘してください.
*1 | 景品にするには高めなので,ちょっともめた |
*2 | 素面でもダメダメとは言わないで…. |
◆昼休みに抜け出して Palm を買いに出たものの,50J が店頭に出るのは 5/2 に延期と店員さんに言われる.
もちろん予約なんかでは高まりきった購買意欲は満たされないので,50J は候補から外し,当初の予定通りその場のフィーリングでブツを選ぶことにする. 「往復 30 分の時間を無駄にせんためにも,収穫ゼロじゃあ引き下がれへんのや」というか,あと 10 分で決めないと昼休み中に帰れないし.
ということで,Vx と IIIc の展示品をそれぞれ胸ポケットに入れてみて,結局,コンパクトな Vx を買うことに.
あと,レジに向かう途中,まじかる☆アンティークが山積みだったのでついでで購入…いや,実物を見るまで買う気はなかったんです. 信じてください.
◆22:00 退社. この時間なら,溜めていたスーツ 2 着もなんとかクリーニングに出せる(^_^;
◆さて,やっと Palm を開封. まずは Palm と PC を繋いでみようと思ったが,うちの PC はシリアルポートを 1 つしか使わない(これにはモデムを繋いでいる)ようになっていたので,クレードルが繋げない…(このマシンの IRQ3 は ISA のイーサカードが使っている).
そこで久しぶりにマシンをバラして設定し直し. ほこりが激しかったので掃除もする. げほげほ.
◆さて,今度こそ HotSync だ,と思いきや「メールの同期」なる動作で刺さる(T_T). しかも再起動しないと設定変更さえできなくなる. とほほ.
これはメールの同期を止めることで対処. Windows のメーラを使ってない*1ことが悪かったのか,使ってないから問題があっても痛くないのか….
とにかくこれで HotSync 成功.
◆次は操作の練習代わりに,住所録を PC でコピー&ペーストして HotSync してみたり,Palm 側で手で打ち込んでみたり.
Graffiti 方式の日本語入力はストロークを覚えて慣れないことにはどうしようもないけれど,そんなに悪くない感じ. さすがに日本語 Palm OS だけあってデフォルトで漢字変換もできるので,manae にトライするのはこいつをもっと使いこなすまで保留でしょうか.
◆付属の Simply Pack なるおまけアプリ CD-ROM は使えなさそう,というかお試し版商用アプリばっかりなので封も開けてません….
◆じゃあ何を入れるかと言うと,当然,To Heart for Palm*2.
データ変換とインストールは問題なく終わり,そしてプレイ. しかしタイトル画面をタップしたところで凍りました(T_T). ううっ.
とりあえず今日はここまで….
*1 | 一応,プレインストールの Outlook Express があるから,それを Palm Desktop に教えてあげたはずなんですが…. |
*2 | 最初に入れるアプリがこれというあたりはちょっとアレかも(^_^;; |
◆14:00 起き.
◆帰省は 5/1-5/5 くらいの予定.
◆溜っている郵便物の処理. ヒアリングマラソンの予備教材,献血の結果連絡,A の B の振込通知,車の 6 ヵ月点検(初回なので無料)の案内,友達の引越しの知らせ.
◆まじかる☆アンティーク初プレイ. まずはスフィーの普通(?)エンド. 初プレイの人が様子を見つつ無難にプレイしたらたどりつくシナリオといった感じ. ハッピーエンドじゃないようなので(エンディングテーマにボーカルが付かないし…),感想は保留.
総売上高は 3,885,000 円で販売数は 82 個.
◆2 回目. あちこち探りを入れているうちにバッドエンド(^_^;
売上は 7,320,000 円の 103 個. これはまだまだ伸ばせそうな雰囲気.
◆3 回目. 狙い通りリアンの話に進めたものの,クライマックスで「立ちキャラがありません!!」というデバッグ用ダイアログが連発(T_T). さらにエピローグの立ち絵もボロボロ. テストプレイをちゃんとやってないのかー!
ハッピーエンドになったものの少し釈然としない….
ということで,リアンのシナリオを見るなら,Leaf から(きっと)出るはずのパッチを待つのが吉かと. とほほほほ.
売上は ¥5,115,000 の 97 個でした.
あと,リアンシナリオの構成がスフィーの普通エンドの作りとほとんど変わらないというのはちょっとなあ…. これはさすがに考えがなさすぎではなかろうか.
◆To Heart for Palm 動きました. 結局,入れるバイナリを間違えてただけでした…(^_^;;
まずはシナリオをひとつだけ通しでプレイ. 非常に良くできてますね〜. すごいです(^_^).
プレイしたのはいつものシナリオですが,これは趣味が偏っているのではなくて,シナリオをほとんど覚えているのでテストが楽だからです. 本当です.
でも,あかりとの VS イベントまではさすがに調べてないので,これは後でチェックしないといかんですね….
◆まじかる☆アンティーク 4th. なつみハッピー. リアンシナリオの途中で分岐らしいところを押さえておいたので,そこから続けてのクリア. 成績は 5,545,000 円の 101 個.
このシナリオは面白いです(^_^).
正直,1st-3rd プレイは(バグの件は別としても)いまひとつな印象だったんですが,これは明らかにモノが違う…. シナリオという意味ではいままでと格段に違うし,選択肢の仕掛け方とかもちょっとひねってあるし,細かい演出も上手.
骨董品や店の経営状態といったゲームシステムを(たぶん)さくっと無視しているためゲーム本体から浮いている嫌味もないわけではないですが,これは個人の趣味的に問題なし.
まあ,今までの感触では,みどりさんシナリオはアイテムをうまく使った作り口っぽいので,システムを生かした面白さはそっちに期待することにしましょう.
◆17:00 に昼寝(?)して 23:00 に起床. 生活リズムが崩壊してる….
◆5th. 睡眠を挟んで結花エンド. ¥6,595,000 の 104 個.
幼なじみものの定番路線,というか本当に定番としか言いようがないなあ(^_^;
話はちゃんとまとまっているので悪くはないんだけれど,(なつみエンドの後だけに)個人的にはひとひねり欲しかったところ.
◆雨か…. 車なので明日の帰省はちょっと大変かなあ.
◆原稿書き.