今日は実験用のプログラムをARMのLinux上で動かそうと思ったのですが、i386 Linuxだと何ともないことが arm Linuxでは引っかかったりして、つまずきまくりです。
プロセスがexecveを発行すると、出口でシステムコール番号が取れなくなってしまって困りました。原因は下の通りなので、明日改善します。ああ、論文書く時間がねえなあ…。
現在のLinuxの実装だとarmでシステムコール番号を取得する方法として、swi命令を解析する方法があるのですが、これをやるにはpcがシステムコールを発行するためのソフトウェア割り込み命令(swi命令)の位置を指している必要があります。
しかしexecveの出口ではpcの値が変わってしまってswi命令を指さなくなっているため、システムコール番号を取得できなくなるのです。
アーキテクチャ違えば別のOSになって当然なんだから、違いがあるのは本来自然なことなんです。
しかしLinuxはかなり頑張っていて、どのアーキテクチャでも同じように使えます。故に、Linuxなら同じように動くのが当然だろ?とかえ?何で同じように動かないの?なんてムチャクチャな期待をする方が多いと思います。
これはソフトウェアが良くできているという事実の裏返しなので、制作者側としては嬉しい状況ではありますが、正直作るのはしんどいでしょうねえ。OS書いている方々は尊敬しますね。
塚田氏にいちはら病院まで送っていただいて、健康診断を受けに行きました。
健康診断の申し込みが少ないのか流れるように進んで、検査は1時間半で終わって、それから20分後に結果が出て、あっさり終わってしまいました。すげーはえぇー!!
その後は阿部さんとともにドコモのミーティングに参加しました。やはり駅まで、帰りは家まで送っていただきました。
しかもご飯までごちそうになってしまい、感謝感謝です。それにしても今日は送ってもらってばっかりだわあ。
FTOを北海道に放置してきて以来、車なんて全然乗ってないから恋しいです。でも久しぶりに乗ったらぶつけそう。
修論が終わったら、マツダレンタカーで「ロードスターかRX-8借りて6時間乗り倒そうぜ計画」に乗る人が居たらやってみようかな。3人いると一人2時間も乗れて、ロードスターなら一人4,000円で、RX-8でも6,000円とすごーく安く乗れます。
他の人が運転している間は一緒に車に乗るも良し、家に居るも良し、2時間をめいっぱい使って乗り倒すも良し、どこか遊びに行くのもまた良し。何しようと自由です(またの名を無計画とも言う)。
参考までに料金表へのリンク貼っておきます。
修論のプログラムをarm向けにクロスコンパイルしたら、ヘッダが2.4系のままだったため ptraceのコマンドがねーよ(PTRACE_EVENT_FORKなど)って怒られたので、ヘッダを入れ替えました。
あとはシステムコールの引数書き換えがうまくいくのか、返値書き換えがうまくいくのかを見ないといけないなあ。ここでコケるとまたまずい事に…。最近は綱渡りが多いです。
それがうまくいけばいよいよスタックトレース部分の移植、といっても前に書いた断片を繋ぐだけです。それから実験かな。明日、明後日でなんとかせねば。
入社用の書類に添付する健康診断書ですが、先日お願いした筑波記念病院では結果が出るのに3日かかるそうです。そして予約は1/30です。1/30に受けたら2/2の提出に間に合わねーじゃん!
というわけでいちはら病院(つくば市長の病院だっけ?)にお願いしたところ、
「明日の午前中に受けて、午後に結果が出ます。」
という素晴らしい返事をいただきましたので、そちらに行くことにします。
VirtualBoxという新顔のVMが出ました。しかもオープンソースで登場という大胆さです。
性能ですが、素晴らしいの一言に尽きます。本当にVM上で動いてる?と疑いたくなるほどの性能です。私見ではI/Oや画像の出力が非常に速いと思います。すげー!
まあこの件に関しては、塚田氏も榮樂氏も書いてるのでさらっと終わりにしときます。
昨日、見よう見まねでコンパイルした2.6系カーネルは当然のごとく動きませんでした。
その後、独自にArmadillo-9用のパッチを作っている方のページを見て真似して見るも、コンパクトフラッシュを認識してくれません。nfsによるブートを試してみるも、あと一歩って感じで動きませんでした。
まてよ、製造元のアットマークテクノが2.6カーネル配ってたら楽じゃないか?と思って配布サイトを漁っていたら、ありました。
初めにpcmcia有効カーネルを試したところ、コンパクトフラッシュがねーよ、って言われてダメでした。モジュール入れてないからか?もう一方のpcmcia無効カーネルは、起動時にポツポツエラーが出ていて不穏な感じですが、とりあえず動きました。
原因が本当にpcmciaなのかよくわかってないです。暇が出来たら検証したいです。
とりあえずLinux 2.6が動いたし、疲れたし家に帰ってきましたが、肝心の実験で使う機能が動くのかどうか試していませんでした。
特に機種依存の機能ではないから大丈夫でしょうけど、念には念をってことで試しました。結果は無事成功です。よかよか。あとは土日で、実装と論文書きに突っ走るのみです。
まだできてないのかよ、って?ヘボですみません。
泣いても笑っても、あと1週間です。皆様、頑張りましょう。
修論用プログラムの実装が終わりません。今週中に終わらないと、いよいよやばくね?
arm上でどうやってforkを追跡するかをずーっと考えてたんですが、とうとうスマートな方法は思いつきませんでした。がっかり。
今回は時間が厳しいのでLinux 2.6の機能に依存した実装に逃げました。それでさえ、やっと今日になって動いた程度(※)です。ヘボくてすみません(´д`;)
(※)正確には動いているフリしかしていません。色々機能を使おうとすると(特に今回追加したスレッドが鬼門)おかしくなって暴走、ハングアップの嵐…。
Linux 2.6に依存した実装にしたせいで、Armadilloのカーネル入れ替え(2.4 -> 2.6)という一番やりたくない作業が発生しました。
Armadilloの配布イメージはカーネルのconfigだけ入っていて、パッチは行方不明という謎の構成です。
見よう見まねでオプションを設定してクロスコンパイルしましたが、動くのかこれ?動かなかったら相当ヤバいぞ。
お知らせです。
NTTにハイパーファミリーにしませんかって言われたので、あと3ヶ月しか使いませんが工事することにしました。
というわけで、本日のお昼頃は本サイトは不通になります。
工事終わりました。速度はさほど変わりませんでした。変化と言えば終端装置が変わったくらいかなあ。
予約しました。意外と予約が空いていないらしく、入社用書類の期日の3日前に受けることになりそうです。
研究室のノートPCが調子悪いです。HDDが壊れかけてるのか、たまに「カチッ、ヒュイーン」とスピンアップし直すような変な音がします。
これは今日に始まった事ではなく、以前hdk氏と一緒にSMARTをチェックしたらエラーが記録されていましたし、今日もシーク音じゃないカチカチ音が鳴っていました。あやしい、非常にあやしいぞ!
おそらく既にどこかぶっ壊れていると見てCHKDSKしたら、案の定いくつか不良クラスタが見つかりました。あぁぁ、もうダメなのか…?下手したら卒業まで持たないような気がします。
注文していたゲームが届きました。スタークラフトというゲームです。日本には代理店がない(いけじが、アキバで売ってますよ!って言ってたけどどこにあるかわかんねー)ので、販売元の会社 Blizzard Entertainment から買いました。
スタークラフトはWindows 95時代の古いゲームな上に、バカ売れした経緯もあって2つ(基本セットと拡張パック)で $19.98という安さでした。ゲーム自体は安くて良かったのですが、配送料がゲーム代の倍というありえない請求が来ました。さすが海外製品…!
ああ、そうそうCDからインストールできるやつはめちゃくちゃバージョンが古いので(1.05)、アップデータ(-> 1.14)を Blizzardの鯖から持ってくると良いです。
やっとHTTP応答のヘッダに Last-Modifiedを出すようにしました。更新のタイミングは、記事かコメントが追加(ないし更新)されたときです。
RSSの更新時刻にも使おうと思ったんですが、記事の更新だとRSSの内容が変わらないのに時刻だけ新しくなるという変な状態に陥るので、今まで通りにしておきました。
それにしても、以前いじったときから時間が経つと、プログラムの荒さが見えてしまうもんなんだなあ。なんでこんな構造なの?とか何でこんな書き方したんだ?ってのが多かったです。先月の自分なんてほぼ他人ですね…。
ついでにぐはー(ぐりにっちくんはいぱー)用のコメントも入れてみたが、これであっているのか良くわからんすー。誰か教えて。
コメント機能設置からしばらく音沙汰無かったのですが、ついにこのサイトにもコメントスパムが飛んでくるようになりました。
今のところコメント投稿確認の部分で止まっているようです。それも時間の問題で、そのうち突き抜けてくるでしょう。うっとおしいなあ、どうしたもんかね。
SeaMonkey 1.1b on Windows XPで見つけた不思議な現象。
ブックマークのメニューにサブカテゴリを作って、サブカテゴリ内にアイテムを2つ以上追加します。
その一覧を表示させた上で、ホイールを上下させるとメニューが全体的に(微妙ですが)動きます。多分、メニューのスクロール処理がちょっとおかしいのでしょう。
微妙でわかりづらいんですが、左が通常の状態で、右が上にズレてる状態です。
マウスをアイテムの先頭に持って行くと元の位置にスクロールされるらしく、ズレが戻ります。変なの。
東京の初台で、風の谷のナウシカに出てくるメーヴェ(一人乗りの飛行機)みたいな飛行機を展示しているそうです。乗りてぇー!
記事によるとジェットエンジンらしいので、映画のように急な加減速はできなさそうです。
いかにも着陸が難しそうな形してて、かなり乗り手を選ぶんだろうなあ、と思った。
あ、そうそう、公式サイトがあります。
メーヴェの次は、ぜひガンシップも作ってくださいw
久しぶりにおふくろさん弁当で弁当を買って食べました。チキン竜田揚げ弁当ってやつです。
買うときに、なぜか竜田揚げってのは薄いもんだと勝手に信じていました。なぜでしょうね?家に帰ってきてから弁当を開けたら、唐揚げみたいなものが入っていたので「弁当間違ったか?」とか思ってしまいました。
よく考えたら竜田揚げって、単に粉が片栗粉になった唐揚げですから、厚さは関係ないですよね。あと下味が濃いとかそんなのもあったっけ?なんで厚さが薄いなんて思っていたんだろう?そう信じていた理由が全く思い出せません。
あと、なんでおふくろさん弁当を「パオ弁」と呼ぶのかもまったくわかりません。なぜだ?
紹介文はマイミクなら誰でも書けますが、mixi上で、本名を載せない、日記を伏せているなどしている人に紹介文を書くのは正しいのか?という疑問がわきました。
どういうことかと言うと、他人から付いた紹介文は多少なりとも自身の情報を漏洩していることになるからイヤな人がいるのではないか?って話です。
対策としては「とってもいい人で、いつもお世話になってます!」などの何も内容のない、あたりさわりのない紹介文を書く方法があります。けど、そんなもの何個書いてもゴミです。そもそも何も紹介できてないし。
こんなことを考える人は、mixiなんか手を出さないだろ、という意見はごもっともだと思います。
当の自分はと言うと、ネットに書いたことは誰でも読めるものだって思ってますので、まずいことは書かないし、書いたことは伏せません。
紹介文、コメント、ご意見、ご指摘の類は、いただければありがたいなあ、と思います。
悪口は見たら悲しくなるので、見えないところで勝手に書いてください。(※悪口と欠点の指摘は違うので、混同しないでくださいね)
今はこう書いてますが、家にカミソリ封筒とかが届き始めたら考え直すと思います。
T原氏とチャットしてたら WindowsはCPU時間が取れないから不便だって言っていたので、ちょいと調べてみました。Linuxだとwaitしたときに簡単に取れますよね。さてWindowsは如何に。
で、それっぽいのを見つけたので、さっそく使ってみました。
タスクマネージャは秒までしか出しませんが、仕様上はミリ秒まで取れるっぽいです。それと頑張れば年、月、日に変換できるのかな?下の結果では変換が適当なので変な値になってますけど…。
Visual Studioにコンパイルしているときに監視したら以下のような結果になりました。コンパイラ、リンカは別プロセスなので、Visual Studio自体は0.1秒くらいしかCPU使いませんでした。
C:\>gettime.exe 2736 1000 pid: 2736 kernel time: y: 1601, m:01, d:01, 00:00:01.250 user time : y: 1601, m:01, d:01, 00:00:00.875 pid: 2736 kernel time: y: 1601, m:01, d:01, 00:00:01.265 user time : y: 1601, m:01, d:01, 00:00:00.890 pid: 2736 kernel time: y: 1601, m:01, d:01, 00:00:01.343 user time : y: 1601, m:01, d:01, 00:00:00.921 pid: 2736 kernel time: y: 1601, m:01, d:01, 00:00:01.343 user time : y: 1601, m:01, d:01, 00:00:00.921
ここで表示しているカーネルモード/ユーザーモードで使った時間以外に、いつプロセスを作ったか、いつ死んだか、なども得られます。
肝心のAPI名を書くのを忘れていました。
GetProcessTimesという関数です。OpenProcessで得たプロセスハンドルを渡すとプロセスの情報を返してくれます。
あるマシンのカレントディレクトリに .xsession-errorという800MBのファイルができていました。中を見ると "IceWM: Warning: glyph not found: (数字)" という警告で埋め尽くされています。
日本語が表示されるタイミングでエラーが追加されているので、きっと日本語フォントじゃないのに日本語を出そうとしてトラブっているのでしょう。
直すならaptitude install ttf-kochi-gothicなどで好きな日本語フォントをインストールし、カレントディレクトリの .gtkrcやら .gtkrc-2.0に(なければ作る)設定を追加すれば良いと思います。
2つの設定ファイルには似たようなことを書くんですが、ちょっと違いがあって気になったのでメモしておきます。
まず .gtkrcではUNIXユーザにはおなじみの -*-fontname-*-*-... という形式でフォントを指定します。フォントの名前はxfontselなどで確認してください。
$ cat ~/.gtkrc style "mydefault" { fontset = "-*-fixed-r-*-*-12-*-*-*-*-*-*-*" } class "GtkWidget" style "mydefault"
一方 .gtkrc-2.0では "Kochi Gothic 12" のように「fc-listで表示されるフォント名」と「フォントサイズを数値で指定」します。
$ cat ~/.gtkrc-2.0 style "mydefault" { font_name = "Kochi Gothic 12" } class "*" style "mydefault"
この設定だとGTK1とGTK2でフォントが違うじゃねーか!と突っ込まれそうです。
実はこのマシン、メモリをケチってxfs-xttを止めたため、Kochiが使えません。健全な皆様はぜひxfs-xttを使ってくださいまし。
朝から研究室のゼミです。途中で抜けて、昼からのドコモとのミーティングへ向かいました。阿部さんの車で駅までひとっ飛びっす。
筑波に戻ってきてからもう一度研究室に行って、話などした後にhdk氏と晩ご飯食べに行きました。最後の方、かなり眠くて話が途切れ途切れに…すんません。
最近書くこと無いので、この話ばっかりです。さてこのたびhdk氏から Wikipediaの「前後」の項を紹介していただきました。
復習)以前 2006年1月13日の日記 や、ちょっと前に 2007年1月5日の日記にまとめたように、論点は以下の2点です。
Wikipediaでは2. に対して言及しています。引用すると、
上下が重力方向で決まるのに対し、左右は基準となる人や物の向きによって相対的に決まる概念であるため、上下反転とは認知されず、左右反転と認知されているのである。
上下は重力方向で決まるという話は、去年の僕が書いた「おそらく上下は重力や景色から自明なことが多く揃えやすい」という予想と似ていますね。
Wikipediaさんは断言しちゃっていますけど、忘れないで欲しいのは、上下方向が重力で決まるというのはあくまでも予想であって、自明ではないということです。
反例として考えつくのは、宇宙に鏡を持って行くことでしょう。宇宙に重力はありませんが、鏡の中の自分は地上と同様に左右反転していると思います。
もちろん僕はやったこと無いので誰かやって実証してください(他力本願)。
ちなみに、もし本気で実験するのだったら景色の影響も実験したいですね。
6面が全て同じ色をした立方体(ただし、ある一面だけ鏡)の中に入って鏡の面と向き合ったときに、どう感じるかを試すと良いと思います。
地上だと左右反転だと思うので、無重力下でやるべきでしょう。これでもし上下反転に感じる人が出てくるなら、人間は周りの景色から上下を判定していることになります。
逆にこれでもまだ左右反転に感じるようなら、鏡に映った人間の形から上下を判定しているか、あるいは自分の動きと像の動きの関連といった高度な情報を用いて判定していることも考えられます。
前者の影響を除くためには、形から上下の判定が付かないものと向かい合って動かなければなりませんが、無論そんな形の人間はいないので実験できません。
後者の影響を除くのは難しいです。写真を貼る方法では、像側は動きませんが、人側が動いてしまうと、像が動かないという情報が発生してしまってダメです。
するとどうしても人の方に動けなくなってもらわないとなりません。でもそれって虐待以外の何者でもないです。これも実験できません。
もしこの問題が解けると何の役に立つかって言うとですね「上下反転する鏡」が作れるようになるのですよ。
はい?別に要らないって?あらそう…。
山下さんから、横浜市にある横濱カレーミュージアムが2007年3月31日でなくなってしまうから今のうちに行きましょう、ってお誘いを受けて、行ってきました。
ミュージアムの中は、なんで潰れてしまうのかわからないくらい混んでいました。もしかして3/31で潰れるのではなくて、しばらく休んで別の場所でリニューアルするだけなのかもしれない。
ミュージアムの入り口でもらったパンフレットを見ながら、食べたいカレーを手当たり次第に試し、3人で6種類のカレーを食べました。ミュージアム側も客が色々食べたいのはわかっているようで、お試しサイズがどの店にもありました。
ただしお試しサイズがあるのは主力メニューだけで、その他のメニューにはお試しサイズがないです。ご注意。
ああ、もうカレーはしばらくいらねえなあ。
ノート用に、今まで有線の光学式マウス(安物)を使っていたのですが、線が邪魔なうえにかなり路面を選ぶワガママちゃんなので、買い換えを決意しました。
条件は「無線で光学式のマウスであること。サイドのボタンは要らない。でかいと邪魔、小さいと使いづらいのでその辺りは触って決める。」ってくらいかな。マウスに全くこだわりがないのがバレてしまうね。
研究室のI氏が使っている「レシーバーを収納できるマウス」を探していたら、ロジクールの無線レーザーマウス V-450SV の方が良さそうなので購入しました。
こやつ4,500円もしましたよ。気になる点が出てきたらまた何か書くと思います。逆に言えば何も音沙汰無ければ気に入ったってことです。
その後、ダーツをしにSTEPに行こうとするも、満員で入れないとのこと。次に西大通りにある快活CLUBに行ってみると駐車場が満杯で駐められない。
最後に、最近出来たWonder cafeに行ったら見事アタリ。つーか、施設狭いのに駐車場広っ!!
ダーツも 3時間やれば疲れますね…。
< | 2007 | > | ||||
<< | < | 01 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 | - | - | - |
合計:
本日: