Hironytic Status

ひろんの開発日誌

多忙

2009-12-01 18:44:40 | 近況
半ば予期していたことではありますが、11月以降、一気に仕事が忙しくなりました。
また CoveredCalc の開発が中断してるよorz

帰宅も遅いし、土日も仕事に出かけるし。
そうでもしないと間に合わないスケジュールと、そういう仕事をやらないと生き残れないこの不景気にほんとイヤになります……。

Haiku on 実機

2009-11-03 11:51:47 | 近況
これまで Haiku はずっと VMware 上の仮想マシンで実行していたのですが、仮想マシンで実行しているが故にコンパイルが遅いという開発における致命的な問題がありました。
Haiku がまだ安定していなかったのと、BeOS 系ではずっと実機のドライバで苦労していたので面倒かもというのがあったわけですが、Haiku R1 の α1 も出たし、JPBE.net の方で Aspire one での動作例があったし(だいぶ前からありましたが…)、Ubuntu 9.10 が出たし(!)、ということで、Haiku を実機に入れてみました。

マシンは Aspire one (AOA150-BW)。去年の夏、発売される前から予約して買った Netbook です(この Netbook 上で VMware 動かしてたから遅いのですが)。
Windows パーティションは消したくなくてマルチブートにしたかったのでブートローダ GRUB が必要です。
いったん Ubuntu をインストールすれば GRUB も入れてくれるので、その後で Haiku を入れて、Windows, Ubuntu, Haiku のマルチブートにしようと思っていたのですが、Ubuntu 9.10 でブートローダが GRUB2 に変わるということで、どうせならそれを待とうと思って待ってたわけです。

やったこと:

  1. USB メモリを購入。BUFFALO の 4GB のもの (RUF2-K4GE-WH) を買いました。

  2. VMware Player 3.0 を別 PC にインストール(たまたまリリースされたので…^^;)

  3. Ubuntu Netbook Remix 9.10 をダウンロードして、まず VMware Player 上にインストールしていろいろ試してみます。そこから [システム - システム管理 - USB スタートアップ・ディスクの作成] を使って USB メモリを起動ディスクにしました。

  4. Aspire one 上で USB メモリから起動 (F2 で BIOS 設定に入り、Boot の USB HDD を F5 キーで先頭に持ってきます)

  5. LiveCD(LiveUSBメモリ?)で遊んだあと、インストール。

  6. Ubuntu でしばらく遊んだあと、Haiku Filesから Haiku のナイトリービルドのイメージをダウンロードし、Windows 環境にて DD for Windows を使って USB メモリに書き込みました。(←これを Aspire one じゃなく別 PC でやっていたところ、どうしても USB メモリが書き込み先として表示されずはまりました。Aspire one 上でやったらうまくいきました)

  7. Haiku を USB メモリから起動し、楽しんだあと、Haiku をインストールするためのパーティションを用意していなかったことに気づきます(爆)

  8. Ubuntu 上から、再び USB メモリをスタートアップディスクにします。そこから起動して GParted でパーティションを分割するためです。(←ここでどうしても USB メモリのフォーマットがうまくいかずはまりました。ディスクユーティリティでいったん初期化してからやったらうまくいきました)

  9. USB メモリから起動して GParted を起動し、とりあえず unformat でパーティションだけ作成します。

  10. 再び、Windows 上で DD for Windows を使って USB メモリを Haiku にします。

  11. USB メモリから起動して、Haiku 上で DriveSetup を使って、パーティションを BFS に変更します。そこへ Installer を使ってインストールしました

  12. Ubuntu 上で GRUB2 のブートメニューに Haiku を足そうとして、どうしてもいまくいかずはまります。sudo update-grub をした際に「menuentry: not found」とか出てきます。めっちゃはまります。パーティションを作り直してみたり、Haiku をインストールしなおしてみたり、いろいろやってうまくいきません。めちゃめちゃはまります。

  13. 最終的に、スクリプトが間違っていることに気づきました。exec tail -n +3 $0 の行がいるんですよ。。。うまくいったスクリプトを書いておきます。/etc/grub.d/50_haiku という名前。
    #!/bin/sh
    exec tail -n +3 $0
    menuentry "Haiku" {
    	set root=(hd0,7)
    	chainloader +1
    }
    


実は子供がインフルエンザになってどこにも出かけられないので、こんなことをやってる暇があったわけですが。

Peの夢

2009-10-30 11:51:17 | 近況
Beerさんが見つけてくれたのは Pe の本家開発ラインですよね?
残念ながら、T.Murai さんが探しているのは、2003年頃に存在した、Peの日本向け派生版(?)のようです。その派生版だと、インライン入力をサポートしているらしく、その成果を本家の Pe に反映できないかなーということだと思います。(でも、その派生版のソースが入手できない)

…確かに、Pe の本家も探しづらいんですが。
"pe" で検索すると関係ないものばかり見つかるし。
#せっかくだから、自分用としてここにリンクを貼っておく(^^

"raw_char"の行方

2009-10-25 14:46:32 | 情報
久々に Haiku ビルド環境を整えて、最新ソースを SVN リポジトリからとってきました。
それでもって、ビルド。pe に日本語を入力したらエラーになることを確認してから、BottomlineWindow::HandleInputMethodEvent() に "raw_char" を試しに入れてみるようにして再ビルド。pe に日本語が入力できるようになることを確認しました。

ということで、とりあえず Haiku のバグなのか pe のバグなのかわかりませんが、Haiku と BeOS R5 の非互換ではあるように思うので、Haiku にバグ報告しておきました

11月から本業がまた忙しくなりそうな感じ。今のうちに Haiku、CoveredCalc 関係のことをできるだけやっておこうと……。
そういや、Windows 7 のことを考えていませんね。Coveredcalc は動くのかなー。

raw_char の続き

2009-10-21 15:00:26 | 情報
raw_char の件ですが、
よくわからないけれど、R1A1 では、IM で確定したときのメッセージに raw_char が入ってきてないようなのです。(Canna、Anthyのどちらも)
でも、KeyboardInputDevice.cpp は最近更新されていませんよね。
この raw_char を入れてるのは、キーボードから普通にキーが押されたときの部分なんでしょうか……。たしかに IM 経由でなければ raw_char が入ってきています。

私が Haiku(というか BeOS)の IM の仕組みをあまり理解していないので、ピントがずれてるのかもしれません。
このあたり、Murai さんの方が詳しそう……。私の頭の中で
BeOS で Canna といえば→ KanBe、KanBe といえば→ T.Murai さん
BeOS で Anthy といえば→ SHINTA さん
という図式ができあがってます(笑)

それはともかく、インライン変換時は別にして、インライン変換未対応アプリに対しては
src/servers/input/BottomlineWindow.cpp
の BottomlineWindow::HandleInputMethodEvent() で作った B_KEY_DOWN メッセージが
投げられているのではないかと推測します。確かにここでは raw_char を入れてません。
ここでなんでもいいから raw_char を入れてみたら、Pe に日本語が入力できるようになるのかも。

うーん、いま手元に Haiku のビルド環境がないんですよねー。
ナイトリービルドの VMware イメージがそのまま公開されるようになってからは、そっちばっかりで試していたので。


Pe は日本語化されたものがあったんですね。全く記憶にありませんでした。
というか、そのころ、私は BeOS 系から完全に離れていたかも。
逆に Pe で raw_char は存在しないときもあるように考慮するとか(PalEdit がそうなってます)、
インライン変換に対応するというのがスマートなのかもしれませんが。

…ところで Pe のバグ報告とかパッチとかってのは、Haiku に送るのは筋違いですよね。
まあ、この問題は BeOS R5 との非互換という Haiku の不具合かもしれないので、突き止められたら Haiku の trac にチケット登録したいですね。

raw_char が気になる

2009-10-20 00:13:34 | 情報
muraiさんへのお返事を兼ねて。

Paladin は初めて使ってみたのが 1.1 なのです。
なのでなんとも言えないのですが、Make したときのコンパイルエラーや警告をハンドリングしてリストにしてくれるのと、Run Logged で実行すると標準出力を(?)ハンドリングしてくれるウィンドウが出るのはいいなと思いました。
逆に言えば、それ以外は Pe + 手動 make でもそれほど困らないかなという感じもありますが。
でも 1.1 の新機能らしい Code Library は、よく使い方がわかっていません。

あと、"raw_char" は、IM からの確定時に、BeOS の Input Server は追加してくれるけど、Haiku の Input Server は追加してくれてないのではないかなというのが私の推測です。
と、これだけではナンなので、簡単なテストプログラムで試してみました。
BeOS R5 だと、IM からの確定時、カレントメッセージに "raw_char" として 0x0a をセットしたものが飛んできています。(0x0a って LF ですよね。別に Enter で確定しなくても常に 0x0a なんですよ……。なんでまた?)
Haiku (R1A1) だと、やはりカレントメッセージに "raw_char" がセットされていないみたいです。
murai さんとこで、Input Server が追加しているみたいというのは Haiku の話でしょうか?
最近のナイトリービルドでは追加されている…とか?

あと、手元の BeOS R5 環境で確認してみましたが、Pe 2.4.1 (x86) Open Source Version ではインライン入力はできませんでした。
もう少し前の Pe (ver 2.3) も試してみようかと思ったんですが面倒だったのでやめました(^^;
前は Pe より BeIDE が使いやすいと感じていたんですよね。なのであまり Pe 使った記憶がなくてインライン入力できたかどうか覚えてないです。

Paladin とか

2009-10-08 14:33:12 | 情報
前からあるのは知っていたけど試してみたことはなかった Paladin (Haiku 上の IDE) ですが、村井さんのところで日本語入力可というのを見て試してみようと思いました。
というのも、Haiku R1A1 の Pe で日本語が入力できないのに少々不満があるので。
ちなみに CoveredCalc ではそれほど日本語を入力しないので、どうでもいいちゃあいいんですが。

使ってみた印象としては「いいっ!」ですね。
BeIDE を目指していると言うだけあって、よくも悪くも BeIDE 風です。
#ソースファイルのグループくらいは多階層にできてもいいじゃないか……。
もう Pe 使うのに慣れているので、エディタが Pe ベースというのも使いやすいです。

CoveredCalc はソースファイルが多いので、Paladin 用のプロジェクトファイルを作るのは面倒。
Pe + make から乗り換えるかどうかはわかりません。

それはそうと、Paladin のエディタ部分 PalEdit は Pe をベースにしているのに日本語入力ができます。(こちらで村井さんが文字化けすると書かれてますが、少なくとも Haiku R1A1 と BeBits にある Paladin 1.1.0 の組み合わせでは文字化けせずに入力できました)
それをヒントに Pe と PalEdit のソースコードを比べたところ、Pe でエラーが出てしまうのは PText::KeyDown() の中の次の部分が原因のよう。

FailOSErr(Looper()->CurrentMessage()->FindInt32("raw_char", &ch));

PalEdit だと FailOSErr が外されています。
Pe が出すエラーメッセージから考えても、Haiku だと IM(IME) から入力されたときに、メッセージに "raw_char" が含まれてないんでしょうね。
そもそも IM(IME) からの入力の場合、いったい何が "raw_char" になるんだという疑問はあります。

でも BeOS R5 がこのコードで動いていたなら、R5 では何かが入っているんだと思うのでそれを突き止めればいいのかな。
Haiku の問題なのか Pe の問題なのか、それとも両方の問題なのかよくわかりませんが。

Haiku R1 α1

2009-09-16 21:17:22 | 情報
(Haiku系の)あちこちで話題になっている R1 α1 ですが、私もさっそく試してみました。
今まで通り VMware で。試すというよりこれまでどおり、CoveredCalc for Haiku の開発環境にするつもりなんですけど。これまで通りっつっても3月くらいから作業してなかったわけですが。

VMware はイメージをダウンロードしてきて展開して起動するだけ。楽ですよね。

まだあまり使えてませんが、とりあえずファーストインプレッションを。

VMware イメージの Haiku ディスクのサイズがほとんど Full なのはどういうこと!?
/boot/home/config/fonts の下に日本語フォントを入れようとしたら、ディスク容量が足りなくて入りませんでした。
ディスク容量が 600MB しかありません。
それとは別に 2GB の空ディスクイメージがついてます。
これは、この 2GB の方へインストールしろということでしょうか? 勝手にそうだと決めつけて、Installer で 2GB のディスクの方へインストールしちゃいました。

svnが相変わらず非ASCII部分のUTF-8を正しく扱えません。
Subversion が 1.6.5 になっていたのですが、やっぱり非ASCII部分が ?\229?\136 のようになります。
http://www.freelists.org/post/haiku/32bitwchar-t-branch-has-been-merged-into-trunk-full-rebuild-necessary,3
あたりを見て、もしかして治っているのかなーとか期待したんですが……。

Peが相変わらず日本語を受け付けません。
Pe に対して Anthy で日本語入力を行うと、確定時に Pe が「An OS error occurred: Name not found」というアラートを出して日本語が入力できません。
まあ、以前からそうだったんですが。BeOS 上の Pe はそんなことなかったので、Haiku 用にビルドされた Pe か、Haiku のどちらかの問題なんでしょうねえ……。

** ** **

3月ごろに比べると安定度は上がっているように思うのですが、なんともいえず。
svn と Pe の問題は Haiku の問題というのかどうか。OS の問題でもなさそうな気はしますけど。
CoveredCalc の開発では大きく問題になります。
Haiku の trac にチケットとして報告していいんでしょうかね。というかすでにチケットがあるかもしれませんが。(調べられません)


[CoveredCalc] 開発再開

2009-09-08 09:33:50 | 開発状況
ようやく本業がひどい状態を抜け出せた感じなので CoveredCalc の開発を再開します。
前のエントリに 5 月が終われば‥‥とか書いてありますが、結局、9月になるまで大変でした。というか、5月はまだマシな方だったような。8月は一度だけですが連続34時間勤務とかありましたし(- -;

とりあえず、まだ google のリポジトリにコミットできていなかった分をコミットしました。
古くは 3 月あたりに行った作業とかもあって、既に覚えていなかったりするんですが、とにかく機械的にコミットしました。
ビルド通るんでしょうか。ちょっと心配です。

まずはソースを思い出すところから始めないと‥‥。

Very busy!

2009-04-17 09:26:28 | 近況
3月あたりから、仕事がめっちゃ忙しくなってプライベートの活動が何もできない状態です(泣)

会社から帰ってくる時間も遅いし、休日ももともと予定が入っていた用事があるとき以外は出社してるし。
家に帰ってもパソコンの電源をしばらく入れてませんでした。
ひさびさに今朝電源入れたら、Windows Update ‥‥。

というわけで、CoveredCalc をどこまで作ってる途中だったかわからなくなってきました。マズい(汗)

5月が来れば‥‥いや5月が終われば楽になるとは思ってるんですが‥‥。
この不況時、仕事があるのは幸せと思わないといけないんでしょうけど。
#ただ、ムリのある仕事でも選んでる余裕がないからこんな状況に陥っているみたいですが。