不定期日記

トップに戻る


2003 05/09
久々に更新。内容的には何も増えていない。プラットフォームを移行するのに思わぬ時間を費す。

2002 01/14
BlindSearch! for Epocの日本語版(要UniFEPv2)はほぼ完成、あとはヘルプファイルの作成程度。スクリーンショット

2002 01/08
年内にリリースする予定だったBlindSearch! for Epocがようやく完成、英語のソフト置き場に置く。日本語版はまだ手付かずだが、日本語ページからのリンクだけ張る。

2001 12/21
Revoなどで直接プログラミングできる(=セルフ開発環境である)OPLで作成したプログラムは、中身は中間コードで書かれていて実行時に逐次解釈されるため動作速度に難がある。速度が必要な箇所だけC++で書いてコンパイル済みのバイナリ(OPX)をOPLから呼び出す、という手段が用意されているので、試している。問題はWindowsとVisualC++が必要な点。:-(
開発方法はそのうちまとめる。

2001 12/05
ようやくso-net(ACCA)のADSLサービスが開始した。非常に快適である (5000-7000kbps出ている模様)ので、うっかり二月待たされた怒りを忘れそうになる。

2001 12/02
来るべきブロードバンド時代に備え、MacOSを8から9.1に上げる。40MBしかない 愛機(PB1400/G3)でMailer/WWWBrowserを定常的に立ち上げるには、仮想メモリが まともに動くOSにしてやらなくてはならない。
ちなみにMacOS9は某オークションにて取得。6500円程度だが相場より ちょっと高かったかも。

2001 11/27
so-net(ACCA)のADSL8MBサービスはまだ始まらない。ADSLモデム(ルータ)は 届いたので開通はもうじきだと思われるが、これで相性の問題で 開通しなかったりしたらどうしてくれよう。

2001 11/03
iCab v2.6がいつの間にか 出ていた。MacOSX対応とのことだがあまり縁がない。
ADSL8MBをso-net(ACCA)に申し込んでから一月経つが、更に一月近くかかるという メールを受けとり憤る。

2001 10/22
Nethack for 5mxの作者のDuncanさんからメールが来る。ver3.3.1を公開する予定だが、私の作成したフォントを使いたいとのこと。フォントを使ってもらうのは勿論構わないが、ver3.3.1が近日公開であるほうが嬉しかったりする。

2001 10/13
久々に少しだけ更新。こちらに私の発見した5mx版NetHackの不具合を追加。リンクを更新。近況。結城氏のデザインパターン本を常に持ち歩き(重い)、何度も読み直す。java向けだがたとえjavaに興味が無くてもつるつると頭に入ってくる。超お勧め。

2001 07/29
自分でNetHack for Revoをサポートするのはいつになるか不明であるので、ひとまずフォントだけでも公開することにした。こちら。Makoを入手してNetHackをプレイするに十分な環境ができたことも勿論背景にある..。

2001 07/18
Revo/Makoの充電問題の実験のため、定電圧源で充電を試みる。Makoは昨日の到着時点で すでに十分放電しきっており、起動できない状態であったのでそのまま充電を開始した。
結果は、予想以上に満足の行くものであった。2時間近く急速充電の後、81%程度から トリクル充電に移行した。その後8時間ほどで99%に達したので充分と見て充電を終了した。 今までは(ハードリセットするしないによらず)常に5分と待たずにトリクル充電に移行して いたので、違いは明らかであった。
引き続きRevoでも同様の充電を試みる。また120VAC電源+純正アダプタでも実験しようと 考えている。
Revo充電問題の参考リンクは こちらとか こちら)。

2001 07/17
気付けば4ヶ月ものブランクが空いてしまった。
outpost.comで買い求めたDiamond Makoが本日到着した。Revoに次ぐ二台めのEpocマシンである。送料込みで127$ちょっと。Revoが6万弱だったこと、Epocデバイスの近況(PsionFanなどを御参照のこと)を考えると嬉しいより悲しい気分になって来る。
MakoはRevo PlusのOEMでメモリも16MBあるが、Unifepが動かないので簡単にRevoの置換えにはならない(Unifep登場前から存在するJMemoやKEditなどの日本語化手段は勿論可)。もっとも初代Revoはこれからも使い倒すので置換える積もりはない。
本体のロゴには流石にMakoとあるが、ドッキングステーション、電源アダプタ、ペンにはPsionとなっている。恐らくRevoと同等の電源の不具合が予想されるので、会社の定電圧源を使って「慣らし」を行う予定であるためまだ火を入れていない。

2001 03/03
ひょっとするとRevoでnethackを サポートすれば世界最小のnethackマシンになるのだろうか。少なくとも Palmへのnethackの移植は非常に困難らしい。「キーボード付きのPDA」である メリットをアピールするためにも、RevoへのPortingは努力したいところ。
ちなみに現在私が試している方法は、 こちらの 5mx用nethack(v3.2.2)を6x6ドットの手作りフォントで動かしているだけである (そのままのフォントで動かすと、一画面で表示されずスクロールバーが 出てしまい、操作性が著しく落ちる)。Revoの480x160画面でnethackの80x25行の 表示をするためには、一文字は6x6ドットより大きく出来ない(泣)。

2001 02/26
久々に更新。最近の遊びはRevo上でnethackを動かす事。フォントを何とかすれば問題なさそうだが、メモリに4MBは欲しいので、RevoPlusやMakoでないと現実的でないのは確か。(証拠写真はこちら:フォントが見苦しいのは気のせいではない)

2000 12/04
RevoとCanonのプリンタを赤外線でつないだら案外あっさりと成功した。使えるかどうかは別問題だがすこし嬉しい。

2000 11/28
PsionのOPLプログラムに必要なUIDをSymbianに申請する。

2000 11/19
東京の地下鉄の地図が欲しかったのでRevoに入るサイズのを書いた。ピクセル数を小さくするために駅名は2文字に省略し、路線名なども書いていないのでどれだけ他人に有用かは不明だが、折角なので置いておく。
つくるのにかなり時間がかかり、今では殆ど覚えてしまったので意味がないという話もある。なお、あらかじめ作成に時間がかかることはわかっていたので都営13号線の12月開通分には対応させてある。
そのうちクリックしたらさらなる情報(2駅間の最短コースとか、所要時間など)が出てくるようなViewerも作ろうと考えているが、これまたしばらくかかると思われる。

2000 9/20
Revo Plus発売にあわせて、Revo/RevoPlus用OPLエディタがダウンロード可能になった(こちら参照)。2週程まえの話になるが、アムステルダムのスキポール空港内の免税店では巨大なRevo(注:つくりもの)と共にRevoPlusも売っていた。日本円にして4万強程度だったと思う。

2000 9/02
UniFEP v2をインストールする。まだ殆ど使っていないが、UniFEP入力のオンオフの 切り替えにFn+FであったのがCtrl+Spaceに変更されているようだ。
ぱっと見で良くなったのは、まず文字コード入力。部首からの入力手段がなかった ので、今までは進捗の「捗」が打てなかった(今までが悪すぎたとも言う)。 ユーザ辞書も(これも今までが悪かったのだが)PC上でしか作れなかったものが Psion上でも作れるようになった。

2000 8/29
PSIONの日本語環境であるUniFEP v2が送られてきた。今入れてあるUniFEPを一度アンインストールしないといけないのでまだ試していない。v2で日本語メール環境が利用できるようになると聞いていたので今までメールは使っていなかったが、v2を入れたら公衆電話ででも試してみようと思う。公衆電話を用いた送受信方法についてはこちら

2000 8/27
PSION Revoに様々なソフトをインストールする。
Revo for Sketchは、5mxに付属している描画ソフトのRevoへの移植版である。
通勤中にHTMLが書けるようにSJIS日本語エディタのJMemoも入れた。JMemoパッチ
1000 Bournesはポピュラーなカードゲーム。
Pocket Chessはシンプルだが秀逸な出来のChess。
RMR Textはバイナリエディタ。PSIONのファイルは独特のフォーマットであるので、理解するためにHexViewerは必須。

2000 8/16
なんとかRevoにOPLをインストールできた。PCを使ってインストールするのはこちらを参照されるとよいが、Mac+RevoのみでOPLをインストールするのは結構面倒であった。御参考までにまとめてみた(こちら)。

2000 8/12
とうとうPSIONのRevoを購入する。日本語対応とMacとの親和性に難があるのが問題だが、キーボードがありクロスでない開発環境が装備されている点がゆずれなかったのでPSIONにした。AssistOnで日本語環境UniFEP2付き(ハガキ要送付)で57800円。国内ならどこでも大差はないと思う。海外だと30000円を切ることも可能のようだが(日本語なし)、待てなかったのでとっとと買ってしまった。訳あって別売のMacConnectはまだ買っていないため、日本語や開発環境(OPL)をインストールできない(家にはCOMポートのついたWinマシンがないのだ)。
なお、RevoにはOPLは標準で入っていないが、WWWからダウンロードして手作業でインストールすることで使えるらしい。こちら参照
Revoと5mxの選択で悩んだが、値段と軽さでRevoに軍配が上がった。バッテリの寿命が気にならないでもなかったが、3年持てば恐らく十分だろうということで目をつぶった。

2000 8/5
最近の興味は禽(とり)将棋。7x7の盤に鳥の名を冠した6種32枚の駒を用いる将棋である。中将棋や大将棋などの将棋バリアントと異なり、取った駒を打てるルールがある点や二歩ならぬ二燕が許されている点が興味深い。

2000 6/24
新宿のPowerLabでIBM 2.5'のIDE HDDを購入する。12GBで24800円。10ギガ1万の御時世からすると高価だが、2.5'なので仕方がないと割り切る。
純正品ではないのでドライブ設定では初期化できないと思ったが、あっけなく終了。ただ物理フォーマットは途中でハングしてしまうため行っていない。故に不安はないでもない。
MkLinux用に2GB、MacOS用に500MB、Application用に4GB(HFS+)、ユーザ領域として640MB、CD-Rイメージ用に640MB、余りの3.4GBはApp2とパーティションを切った。
ユーザ領域が小さいのはバックアップが簡単になるよう、CD-Rに収まる容量にしたため。動画等は扱わないので、最も容量を食うのは開発時の中間ファイル群である。
とりあえず専用のパーティションは切ったが、まだMkLinuxは入れていない。EtherとSCSIを認識しないそうなので躊躇している。
念願のCodeWarriorフルインストールを果たすが、Win32クロス開発をするわけでもなくJavaの勉強をすぐ始めるわけでもない。MPWを使うわけでもない。

2000 6/11
今までPB1400にlinuxは入らないと思っていたが、MkLinuxを入れている人もいるらしい(動作は不安定のようだが)。
MkLinux入門キット(ISBN4-87966-803-6)を購入する。がHDDの容量がないのですぐにはインストールできない。いよいよ大容量HDDの需要が高まる。

2000 6/06
当機PB1400のSCSIケーブルがどうも接触が悪いため、秋葉原に新しいケーブル等を買いに行く。
PBのSCSIポートはHDI-30(30ピンが5x6に並び、凸字の形状をしている)という特殊なもので、またPB1400は内部にSCSI機器を持たず、何とターミネータを内蔵していない。
このため、ふつうのSCSI機器を接続しようとすると、機器の手前に中継型のターミネータを挿まなくてはならない。
私の場合は、(A) HDI-30/D-Sub25変換アダプタ + (B) D-Sub25中継型ターミネータ +(C) D-Sub25/ハーフピッチ50pinSCSIケーブル + SCSI機器 (+ ターミネータ) という構成にした。
(先日までは、(A') HDI-30/50pinワイド変換アダプタ + (B') 50pinワイド中継型ターミネータ + (C') 50pinワイド/ハーフピッチ50pinSCSIケーブル + SCSI機器 (+ ターミネータ) という構成であったのだが、今回(B')又は(C')がいかれたらしかった)
(A)と(B)が非常に安く売っていたので全部変えることにした。(C)はSCSI機器に付属していたので家に沢山あるのだ。

2000 5/18
先日の国外逃亡の際にDVカムを購入したのでFireWire搭載機種が欲しくなる(iMovieもフリーになったことだ)。だが次期マシンの購入は来年夏頃の予定である。当機PB1400(G3)は数カ月まえに液晶/CDROMDrive/FDDriveをRenewalしたばかりであり、Spec的にもたいして不自由していない。タイミングとしてはAquaがこなれているであろう来年夏頃というのがベストと考えている。

2000 5/17
最近ほしいもの、大容量(6GB〜)のHDD、24MBのメモリ、PDA。その理由、我がPBは750MBのHDD(せめてCodeWarriorをフルインストールできる位の容量が欲しい)、メモリはMax64MB中40MB、電車内で文章を入力したい。
PDAは、別売でもいいのでそこそこ打てる携帯キーボードが入手可能なもの。日本語対応必須。Macとの親和性高ければBetter。そして開発環境(できればフリー)が入手可能なもの。ソースが書けるようできるだけ液晶の大きいもの。
でもまだ金がない。
PlayStationのメモリカードI/F製作キット(メモリカードの内容をHDDにストアするもの)などもあればよいが、買っても家にはハンダごてがない。かといって会社で組み立てるのは相当恥ずかしい。

2000 5/6
友人宅に相棒ともども押しかける。レンタルで「ブレア・ウィッチ・プロジェクト」をみたが、実に面白かった。全ての台詞がアドリブという信じがたい前情報であったが見れば納得。
ビデオカメラを使うときは手ブレ補正のしっかりしたものをお勧めする。

2000 5/1
某ニッケル産地から帰国。着陸直前にぢ阪上空からみた日本の海は汚かった。ぉう。
旅行中、某カメラメーカのDVカムを持参し、チョコボール(きょろちゃんとかいう奴)に似た鳥の、犬に似ているという鳴き声を撮る予定であったが、見張っている間には特に鳴かず、断念。

2000 4/5
ちょっとした問題で、PPP接続が暫くできなかったのだがようやく今日できるようになった。その際、某ネットワーク会社に勤務の相棒にIPの基礎を教わったので、忘れないようにPPPとはどういうものか(DHCPとは)記しておく。
私の接続先は、WorkStationにモデムが一台繋がっている構成であり、またそのマシンにPPPサーバが立ち上がっている。私が家からInternetに接続する場合、PowerBookのモデムカードから電話線を介し、WorkStationのモデムを経由してWorkStationのPPPサーバにIPアドレスの要求を出す。このIPは接続先のLAN上で使われていないアドレスであり、PPPサーバがドメインプールという形で確保している。(私のケースではWorkStationにはモデム一台しかついていないので、ドメインプールに確保してあるIPアドレスも恐らく一つか二つと思われる)
この、サーバにIPアドレスを要求し、動的に確保するという点がDHCPと良く似ているために混乱していた。DHCPもまたIPを固定値で持たないマシンがサーバからIPアドレスを取得する仕組みである。LAN上にDHCPサーバの走っているマシンがある場合、DHCPサーバはDHCP用に確保してあるIPを、要求を出したマシンに対して返す。当然であるが、この「要求」とその「返答」がなされる間、要求を出したマシンのIPは存在していない。このため、要求を出したマシンの同定にはMACアドレス(ネットワークI/Fカードにユニークに割り振られている番号)が用いられる。DHCPサーバの返事はローカルのセグメントに対して行われるので、ローカルにネットワークI/Fを持たないマシンはDHCPによってIPを取得することは基本的にはできない。従って、通常モデムを経由してLANに接続する場合にはDHCPは使われない。
PPPの場合、パケットの送受信に使われるIPはPPPサーバから取得したものであるが、MACアドレスに関してはPPPサーバの持つMACアドレスが「代わりに」使われる。PPPサーバは自分のMACアドレスと自分のものでないIPのふられたパケットをリモートマシンの代わりに受け取り、リモートマシンへと転送する。

2000 3/28
遅きに逸した感があるが、Gang of Fourの「デザインパターン(ソフトバンク)」を購入する。言わずと知れたオブジェクト指向ソフト設計の指南書。相当のボリュームがあるので読み込むのに時間はかかりそうであるが、本業にも趣味にも役に立ちそうである。もっと早く買えば良かった(「アンチパターン」よりは先に読むべき?)。

2000 3/25
TCP/IPアプリケーションを構築する場合には大ざっぱには2通りの方法がある。
一つには繋ぐ側(Client)と繋がれる側(Server)を異なるアプリケーションにする方法で、FTPやWWWなどの多くのアプリケーションで用いられている。
もう一つにはChatのようにPeerToPeerで双方を繋ぐ方法で、この場合は繋ぐ側繋がれる側の二つのアプリケーションは等価なものである。少なくともユーザは繋がれたのか繋いだのかを意識しなくてよい。
アプリを書く立場からすると、Server/Clientシステムの方がプログラムは単純になる。それぞれ繋ぐ処理と繋がれる処理とを別々に考えて実装できるので、デバッグやテストも比較的簡単である。しかしアプリを使う側からすると、繋ぐ場合と繋がれる場合で立ち上げるアプリが異なるのは使い勝手がよくない(送信専用と受信専用の2台の電話を持つようなものである)。FTPやWWWなどの場合は、通常ユーザは繋ぐ側にしかならないので問題は生じない。

BlindSearchの場合は、以下のような条件がある。
・ネットワークに繋がっているマシンでもスタンドアロンのマシンでも同じように動かせる
・3人以上が同時に参加することも可能にする(PeerToPeerより複雑なConnection)
・各参加者は自分の全情報と他者の公開情報のみを知ることができる
・どこかに審判がいて、各参加者(アプリ)に適切な情報を流す
・人間が一人のときなどにPCが参加することも可能にする

これをどのようなアーキテクチャで解決するかはなかなか難しい。
まず「審判オブジェクト」「参加者オブジェクト」が存在し、更にもしネットワークに接続可能な環境にあるなら「TCPIPServerオブジェクト」「TCPIPClientオブジェクト」が存在することになると思われるが、続きはまた。

2000 3/4
BlindSearchをTCP/IP上で対戦できるようにしたいと数年まえから考え、手はそれなりに動かしているが、なかなかはかどらない理由は以下の通りである。
PowerPlantでTCP/IPアプリケーションを作るには、Internet関連のクラスを使うことになる。しかしながらInternetクラスを使うにはTCP/IPの通信を取り扱うThreadをGUIを司るものとは別に用意してやらなくてはならない。つまり、必然的にThreadManagerが必要になる。ちなみに、System7.5以降のMacにはThreadManagerは入っていたと思うが、そうでなくてもSystem7以降であればAppleのサイトにThreadManagerは落ちているので、動かせないというユーザはそう多くないだろう。
それより大変なのはThreadクラスとInternetクラスを両方とも勉強しなくてはならないことである。両者ともドキュメントはついているが、概念を掴むのに結構な時間がかかった。また、Threadを使うためには、同時に複数のThreadが一つのデータにアクセスしておかしな動作にならないよう注意しないといけないので、現在はそのための仕組をアーキテクチャレベルで考慮しつつ実装している。
参考になるサイト:まずはiimori氏のTips。また、最近はK仲川氏もThread/TCPIPの話を載せている。


過去の日記へ

トップに戻る

created by H.M 00.03.04
$Date: 2003/05/08 17:03:01 $