カテゴリ:近況( 13 )

多忙

半ば予期していたことではありますが、11月以降、一気に仕事が忙しくなりました。
また CoveredCalc の開発が中断してるよorz

帰宅も遅いし、土日も仕事に出かけるし。
そうでもしないと間に合わないスケジュールと、そういう仕事をやらないと生き残れないこの不景気にほんとイヤになります……。
[PR]
by hironytic | 2009-12-01 18:39 | 近況

Haiku on 実機

これまで 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
    }


実は子供がインフルエンザになってどこにも出かけられないので、こんなことをやってる暇があったわけですが。
[PR]
by hironytic | 2009-11-03 11:50 | 近況

Peの夢

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

…確かに、Pe の本家も探しづらいんですが。
"pe" で検索すると関係ないものばかり見つかるし。
#せっかくだから、自分用としてここにリンクを貼っておく(^^
[PR]
by hironytic | 2009-10-30 11:50 | 近況

Very busy!

3月あたりから、仕事がめっちゃ忙しくなってプライベートの活動が何もできない状態です(泣)

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

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

5月が来れば‥‥いや5月が終われば楽になるとは思ってるんですが‥‥。
この不況時、仕事があるのは幸せと思わないといけないんでしょうけど。
#ただ、ムリのある仕事でも選んでる余裕がないからこんな状況に陥っているみたいですが。
[PR]
by hironytic | 2009-04-17 09:20 | 近況

[CoveredCalc for Haiku] ビルド環境構築

これまで BeOS 版の開発は BeIDE を使って行っていて、Makefile は公開用バイナリ(デバッグ情報なし)を作るために存在していました。Haiku では BeIDE は存在しないので開発スタイルを変更する必要があります。もっとも、BeIDE も相当古い開発環境でそれほど高機能ではなく、さらにプロジェクトファイルがバイナリなので何がどう変わったのかわかりづらいという不満も以前からありました。なので、この機会に BeOS 環境でも BeIDE を使わないようにしようと思ってました。
それから、BeOS 版の Makefile は OS が提供している makefile-engine を使っていたのですが、少なくとも現状の Haiku では makefile-engine がありません。

というわけで、とにかく Makefile を通常ビルドするのに使えるようにする必要があると思い、コツコツ修正していたのですが、ようやく納得のいく状態になりました。また、Haiku 上でもビルドが通るようになりました。これからようやく Haiku 上での開発もできそうです。

ちなみに、エディタは pe を使うことにしました。MPW(Macintosh Programmer's Workshop)の MPW Shell を思い出すような Worksheet がついていてビルドにすごく便利です。‥‥というものの MPW を使ったことはあんまりないんですけどね。もうほとんど覚えてないし。
[PR]
by hironytic | 2008-09-01 22:31 | 近況

Subversion のビルドとか

CoveredCalc は Windows 版で一応キーカスタマイズのダイアログができた程度です。BeOS 版をこれから実装。キー入力コントロールを作るところから。遅遅として進みません。
それはそうと、そろそろ Haiku 版も作ってみたいところ。ちょこちょこ Haiku の VMware イメージとかもいじってみたりしています。

ところで、Haiku でも使われている Subversion はファイル名やログメッセージを内部で UTF-8 として保存しています。svn クライアントはローカルの文字コードと UTF-8 の相互変換を行ってくれますので、ユーザーは特に気にしなくていいのですが。‥‥ですが、BeOS 版としてパッケージされているやつは非 ASCII なログメッセージに対応していません。こんな感じになります。
baron@:~# svn log http://coveredcalc.googlecode.com/svn/trunk -r HEAD
------------------------------------------------------------------------
r42 | hironytic | 2008-03-22 18:56:14 -0800 (Sat, 22 Mar 2008) | 7 lines

?\232?\168?\173?\229?\174?\154?\227?\131?\128?\227?\130 ....

この現象は 4 年ほど前、Subversion 1.0.0 リリースの直前頃に経験しているのでなんとなくわかってます。きっと、BeOS 上でビルドしたとき APR-Utility の apu.h で APU_HAVE_ICONV が 0 になってたんだろうと想像しています。APR_HAVE_ICONV が 0 だと APR-Utility で変換が必ず失敗するんで、svn は非 ASCII 文字を仕方なく文字コード表記にするのです。ただ、BeOS はローカルの文字コードが UTF-8 なので、特に変換を行わないように改変すればそれで問題ないんです。

というわけで、今まで BeOS 上ではこのときビルドした version 0.37 (1.0.0-RC1) を使っていたのですが、この機会に(何の機会だ?)最新 stable の 1.4.6 (のクライアント)をビルドしてみようと思いました。

‥‥結果からいうと、make 中にリンクエラーが出て、そこで挫折しています。細かいことはもう少し調べてからまた書きます。

ちなみに Subversion は大きなバージョンアップである 1.5.0 がそろそろ出そうな感じなんですけどね。
[PR]
by hironytic | 2008-05-29 11:41 | 近況

gcc をバージョンアップ

ふと思いついて、BeOS 版開発環境の gcc を新しいのに入れ替えてみることにしました。
BeBits にある gcc-2.95.3-beos-070218です。
以前にもそれを考えたことがあったんですが、BeOS 環境が 1 つしかなく、その環境の構築にも苦労していたので、入れ替えて問題があって元に戻せなかったら嫌だなあという思いがあって実行していなかったのでした。今回、VMware Player の仮想マシンで BeOS の開発をできる環境ができたので、すぐに元に戻せるという気楽さからやってみました。

入れ替え自体は README に書かれているとおりで簡単にできたのですが、それで CoveredCalc を make して実行すると Segment Violation になりました。
最適化を OFF にするとこの問題は発生しません。それで、このページを見たところ、どうやら、
・Be コンパイラは、自動的に生成された関数を、それが使われているところのオブジェクトファイルに入れる。これは gcc でいうところの multiple symbol spaces。
・このバージョンの gcc は最適化が OFF のときのみ multiple symbol spaces を使う。
・古いコンパイラでは dynamic_cast などで生成される typeinfo-functions が使っているオブジェクトファイルに入っていたが、このバージョンでは最適化時に single symbol space を使うので‥‥。
・(※私の英語読解力が低いのでよくわからないが)、Beライブラリが持ってる BDirectWindow-typeinfo-function が変なので困ると。

それで、この gcc にはなんか対処は入ってるみたいなんですが、それでも CoveredCalc は落ちているわけで、ためしに multiple symbol spaces を強制してみました。(コンパイルオプションに -fmultiple-symbol-spaces を追加)
すると落ちなくなりました。ばんざーい。

で、実際にこっちの gcc を使うかどうかについてはまだ悩むなぁ。
[PR]
by hironytic | 2008-05-05 11:18 | 近況

BeOS R5 on VMware Player

以前、こたつプログラミング用にノート PC の Virtual PC 上に BeOS の開発環境を作りましたが、もうこたつはいらなくなったので、デスクトップ PC 上でも同じことを行いました。
でも、Virtual PC 上の BeOS は時計が進むのがめちゃくちゃ速い。というか、実際の1秒の間に3秒くらい進んでいます。
どうも CPU が 750MHz と誤認識されているのが原因のようです。(実際のホスト側 CPU クロックは 2.13 GHz)

ここにある cpu_fix and system_time_patch のパッチを使うことでうまくいきそうですが、Virtual PC 上ではなぜか起動に 1 分くらいかかるようになってしまいました。

そこで、VMware Player ではどうだろうと思って試してみました。
VMware Player のバージョンは 2.0.3 build-80004。BeOS の環境を再び作るのは面倒なので、NHC というツールを使って Virtual PC の HDD イメージを VMware 用のイメージに変換しました。
あと、.vmx ファイルの簡単編集用に VMX Builder も使いました。
その結果、起動もそれほど遅くなく、時計も進まない状態になりました。
ちなみに、ネットワークは BeBits にある vlance ドライバを使えば大丈夫です。
それよりも、サウンドーカードとして es1371 を選んだところ、BeOS で音が鳴ることにびっくりしました。といってもちょっぴり音が割れるんですけど。
うちの家には BeOS で音を鳴らすことができるマシンは 1 台しかなく、普段の開発に使っているマシンでは音が鳴りません。Virtual PC でもサウンドカードを認識できなかったのですが、VMware Player では認識できたことに驚きました。
[PR]
by hironytic | 2008-05-05 11:14 | 近況

こたつプログラミング

2 週間ほど前に我が家にもこたつが導入されました。
10年ちょい前に一人暮らしを始めて以来、それから結婚した後もずーっとこたつのない生活だったんですが、久しぶりにこたつの良さを実感しました。

ただ、こたつが置かれた部屋は 2 階。普段、パソコンのある部屋は 1 階なので、パソコンに向かうとこたつの恩恵を受けられません。
というわけで、最近は少し古いけどそれなりに快適に動作するノート PC を使ってこたつでプログラミングしています。
1024x768 のスクリーンがちょっと狭い...

このノート PC では BeOS は動作しないので Virtual PC で BeOS R5 も動くようにしました。
Virtual PC ってホスト側 OS の CPU がゲストにも関係あるんですね。
最初、デスクトップの Intel PC で BeOS R5 のゲストイメージを作ったんですが、ノート PC に持って行ったら動かなくて悩みました。
結局、ノート PC の CPU が Athlon XP-M で、BeOS R5 がそのままでは対応してなかったのが原因でした。Athlon パッチをあてたら動くようになりました。

作業はあんまりはかどってませんが、暖かいのでまあいいか、って感じ。
[PR]
by hironytic | 2008-02-16 00:56 | 近況

差分抽出

ここのところ diff というかテキストファイルの差分抽出に興味があって、Myers らの論文を見たりしてました。
An O(ND) Difference Algorithm and its Variations
An O(NP) Sequence Comparison Algorithm

詳しくはこちら...
[PR]
by hironytic | 2007-12-13 15:57 | 近況