/var/log/hdk.log

2011 年 10 月中旬


10 (月)

%1 ひきこもり祝日

筑波大で学園祭の日だがめんどくさいので出かけず。

久々に某アニメを引っ張り出してきて鑑賞するなどした。Second Stage あたり。 レンタルカートでスプリントレースに参加したりするようになった今、 あらためて見てみると、いろいろと突っ込みどころが満載w

解像度の低いソースはテレビ出力で楽しむのも手だな。RGB 信号とは違い、 多少ケーブルが悪くても白が緑になったりはしない。

RBR (ゲーム) でコースレコードを塗り替えていくお遊び。 今はアクセル・ブレーキともに細かくオンオフを繰り返す操作が多くなっている。

ワンダースワンカラーで動く WonderWitch 用のソフトをいくつか入れてみた。 画面の見づらさは色遣いの影響もあって、メニュー画面はそれなりに見やすい。 親父王はなぜか暗い色の背景になってしまうのが見づらい原因のようだ。

ちなみに「石狩」という WonderWitch 用のゲームは全クリしてしまった。 答え探しプログラムを作ったりしたが、結局それを使ったのはひとつだけだった。

%2 KCP+

au の feature phone の話。 たぶん KCP だとか何かで共通化してからだと思うのだが、 どの機種の説明書を見ても、待ち受け画面から、 決定 (メニュー)→「機能 No.」で機能メニューの中の 項目にジャンプできるというのに驚いた。 機能 No. というのは機能メニューに表示される項目の番号。 これ、たぶん、元は京セラ端末の仕様なのだ。

au の古い端末や、ドコモなどの端末の説明書を見るとわかるが、 他社だと、タイル状に表示されたメニューをカーソル操作なしで一発で選択するために テンキーが使われているものもある。WILLCOM も JRC の端末なんかは 今でもこの方式だと思う。 ドコモなんか丁寧にメニュー項目にキーの文字が表示されているものも あるようだ。

そんなわけで、京セラが独特だと思っていたが KCP+ で標準化されてしまった らしい今、ある意味、昔の京セラ端末を使っていた人は、 今の au の機種ならどのメーカー製に変えても極端な違和感はないかも知れないな。

2011/10/10 のコメントを読む・書く


11 (火)

%1 すき家

すき家に豚とろ丼なるメニューができていた。 食べてみたが... 値段相応か。400 円切ってるんだもんな。

そんなことより、とん汁納豆定食というのがあって、これがいいんだな。 ぶたじると納豆とごはんとたまごとのりとお新香。 これで 410 円。 仮に松屋で同じ構成のメニューを注文すると、 ごはん + 豚汁変更 + 納豆 + お新香 + 生玉子 + のり、 で、(+ 150 180 70 80 50 50) で 580 円もかかってしまう。 のりと生玉子とお新香を引いてやっと 400 円だ。

%2 ドライブ

まあそんなわけで、すき家でめしくってから、 そのまま八王子の何とかトンネルを往復して町田街道を通って戻ってきてみた。 そしたらなんか途中で覆面パトや普通のパトカーが取り締まりして 車をつかまえてるところを目撃したりした。 スピード違反か駐車違反か、わからなかったが警官も暇なもんだな。 ガラガラの平日夜より、 休日に渋滞の原因になってる路駐どもを取り締まってほしいもんだけどな。 とくに甲州街道とか。

2011/10/11 のコメントを読む・書く


12 (水)

%1 PHS 端末

WX01K、カメラとかでいろいろ遊んだりしたせいか、電池の減りが早い。 まあ買ったばかりなので、 バッテリーの管理コンピューターに正確な状態を把握してもらうために、 電池切れ表示が出るまで充電しないでおこうと思う。

%2 RBR

またしても RBR (PS2 用ゲーム) でコースレコードを塗り替えていくお遊び。 ところが、NewBobs II というコースで問題発生。 なぜか、コースレコードとの区間タイムが途中で -20 秒 とかになる (コースレコードが遅い) にも関わらず、 ゴールすると +20 秒 (自分が遅い) になっているのである。 すぐ次のコースでも区間タイムに極端な差が出たので (こっちは コースレコード更新はできたけど)、 もしかしてこれはソフト開発時のデータ入力ミスなんじゃないか。

この +20 秒でもそれなりに無難に走った結果なので、10 秒くらいは 削る余地があるけど、それよりさらに 10 秒削るというのは結構大変と思われる。 まぁ、長いコースなので絶対できないかと言われるとそんなことはないだろうけど、 他コースに比べてコースレコード更新が極端に難しいのは事実。 カーブにギリギリの高いスピードで突っ込んでスライドコントロールして立ち上がる、 っていうのは楽しいし、このゲームの醍醐味でもあるけど、 それを一度も失敗することなく 5 分近くも続けるってのは非常に難しい。

2011/10/12 のコメントを読む・書く


13 (木)

%1 C をどうやって習得したか?

2011-10-13 - 登 大遊@筑波大学大学院コンピュータサイエンス専攻の SoftEther VPN 日記

C... 確か存在だけなら知っていたが、BASIC とアセンブリ言語から入った もんだから、C を含めて高級言語は大きくて遅いというイメージが少なからずあった。 小学 5 年生くらいの頃に、兄者が使ってるのを見て、 そして単方向リストか何かの話を聞いたんだったかな、 それで少しばかり興味を持ったような気はする。

それで、小学 6 年生のとある日曜日、 兄者の枕元にあった Quick C の入門本みたいなのをなんとなく手に取り、 さらっと読んで、その日からちょっとばかり C を触るようにはなった。 が、この本、「これが恐怖のポインタ」とかいう謎な章があって、 実際ポインターのところがよくわからなかった。 よくわからないまま、本に載っているサンプルを入力して動かしてみたりはしてた。

そこからあまり進展がないまま中学 2 年生になり、 学校にある FM TOWNS と自宅の PC-98 の両方で動くテトリス風の ゲーム (市販されていた某ミニゲームのパクリ) を作ろうと思い立ち、 性能面と興味から C とアセンブリ言語で書くことになる。C コンパイラーは ベクターの PACK10000 から入手した LSI C-86 試食版、 アセンブラーは同梱の R86 を使用した。

ポインターとかまだピンとこない状態だったし、 グラフィック系の処理となればビットシフト・ローテート・論理演算が多く、 ハードウェアをたたく部分も多いので、 そのへんは慣れているアセンブリ言語でガリガリ記述。 グラフィックのデータやブロックを消す処理なんかまで アセンブリ言語で書いてしまう始末。 そしてゲームのロジック、判定処理なんかを C で書いていったのだが、 アセンブリ言語とリンクするためには C がどんなコードを吐くかの理解が必須、 ということで、LSI C-86 試食版についていた -SC オプションを多用することになる。

LSI C-86 試食版は人間の目に大変やさしい (読みやすい) 出力を吐く。C の コードと対応しているのがわかりやすいし、 積極的にレジスター割り当てを行うため無駄なメモリー参照が少なく、 人間が最適化をせずに書いたアセンブリ言語のコードみたいな感じ。C が 高級言語で遅いというイメージは、 この頃から変わってきていたと思う。-SC オプションは ふつうの cc の -S オプションの強化版で、C のソースコードが コメントで埋め込まれた形のアセンブリ言語のファイルを出力してくれる。 これがすごくわかりやすかった。 結局ゲームのソースではポインター変数は使ってなかったようだが、 この LSI C-86 試食版のおかげで、C の記述とアセンブリ言語の出力が 頭の中でつながり、ポインターも理解できるようになった。 でまぁゲームはできあがって学校やら家やらで遊んだわけだ。

中学 2 年生の後半は、なぜか第二種情報処理技術者試験に挑戦することになり、 薄めの試験対策本 (?) を買ってちまちまと勉強していた。 パソコンをいじりながら、本を読んで練習問題をやっていたのを覚えている。 そんなこんなで C の基本知識はある程度身に付いていたので、 二種の午後は C で受けることにしていた。

んで中学 3 年生になってすぐに二種を受けた。 試験会場は忘れもしない鹿児島大学。 午前は最初のほうに log の問題があって、そこは完全にあきらめモード。 まあ 1 問や 2 問くらい間違えたって大丈夫だろうと、他の問題をがんばった。 そして午後の選択はもちろん C。 午後は簡単で、あっという間に解き終わってしまい、見直しも終わって、 付録の CASL の仕様書を読んでいたら CASL も解けそうな気がしてきたが そっちには手を付けず、残り時間がわからなくて暇なので軽く居眠りしていたら、 いつの間にか試験時間が終わって試験官が回収に来ていたとかそんな感じ。 結果は合格。

その後は高校 1 年生からかな、Windows の C にも手を出し始めていた。 最初は兄者が BJPOFF っていうすばらしいソフトを作るのを 手伝ってたような気がする。 電算機部っていういかにも怪しい文化部に所属していたのだが、高校 2 年生の時に、 文化祭か何かで出す目的で、前に作ったテトリス風のゲームを Windows に移植した。 このときは、Dev-C++ という GCC ベースの開発環境に手を出していたと思う。 たぶん cygwin1.dll がいらないというので飛びついたのではなかったか。 簡単なサンプルプログラムみたいなのがあって、 とりあえずウインドウを出すだけのプログラムがお手軽に作れたのも魅力的だった。 あとはキー入力とグラフィック描画の API を少し勉強すればいいだけ。

移植といっても元々 C で書かれていた部分は、 インラインアセンブラーや型を修正するくらいでほとんどそのまま。 タブも修正してないから Vz の 4 桁タブのファイルそのままだ。 アセンブリ言語から移植して作った部分を見ると、 テキストエディターは Dev-C++ の内蔵エディターだけではなく、Emacs 系の何かを 使っていたらしい部分もある。Meadow かな。Windows の メッセージ処理なんかはサンプルプログラムの改造という形。 アセンブリ言語から移植するのは意外と手間で、 たしかあまり時間がなくて即席で作ったところもあるが、 一応ちゃんと動いていたはず。

高校 3 年生くらいの時には、 自宅の PC-98 に FreeBSD(98) 3.4R-Rev01 をインストールした。 その前に余り物の HDD に 2.2.7-RELEASE を 入れていたが、3.4 の時は、Windows のパーティションを半分手作業で縮めて、 残りの領域にインストールした。 起動時に SCSI CD-ROM ドライブを検出するところで 変な文字が表示されることに気づき、きっとバグだろうと思って、 カーネルソースの中から該当部分を見つけて自分で修正するなどしていた。 別に他人のコードを読む練習をしたわけじゃないんだけど、C で書かれた カーネルソースを読むのは苦ではなかったね。

2011/10/13 のコメントを読む・書く


14 (金)

%1 長音記号

スルガ銀行の VISA デビット利用明細。Web ブラウザーのバージョンを変えたからか、 コピー & ペースト時の長音記号の文字コードが変わってしまったようだ。

まあ、そもそも、 「ー」(Unicode:#x30fc; JIS X 0208:0x213C) は使われておらず、 「−」(Unicode:#x2212; JIS X 0208:0x215D) が使われていたんだけど、 それがなぜか Unicode:#xff0d; JIS X 0213:0x2231; KS C 5601:0x232d) に なってしまい、KTerm がまじめに KS C 5601 を呼び出すエスケープシーケンスを 出してしまって、EUC-JP 設定の Emacs がこんなメッセージを出して 拒否してしまう状態。

 Error: No word lists can be found for the language "ja_JP".

KTerm の変換はこんな風になる。

$ hd
キホ^[$(C#-テ^[(B
00000000  a5 ad a5 db 1b 24 28 43  23 2d a5 c6 1b 28 42 0a  |.....$(C#-...(B.|
00000010

X11 の Emacs には貼り付けできるから何とかなるけど、どうしたものか。

2011/10/14 のコメントを読む・書く


15 (土)

%1 どようび

そういえば、先週は Steve Jobs が亡くなり、 今週は Dennis Ritchie が亡くなった。UNIX が C で書き直されていなかったら、 と思うと、まぁ似たようなものがいずれ開発されてたとしても、 おそらく OS の開発スピードが遅くなり、 コンピューターの世界は今とは違ったものになっていただろうな。C といえば K&R 本は 読んだことがない。

今日は寝まくった。

WX01K に機種変してから 1 週間。 カメラとか試したりした割には電池残量が減っていない。 そこで Java のゲームとか動かして電池を消費、電池マークの目盛りが 0 になり、 さらに「充電が必要です」メッセージが表示されるところまで減らしてから充電した。 この挙動は、前の機種と同じなので慣れたもんだ。

RBR (PS2 用ゲーム) の NewBobs II。 セッティングを変えてレコード更新をねらうが、5 秒くらいしか縮んでない。 あと 25 秒も縮めるとか無理ゲー過ぎる。 主にいじったのはサスペンションセッティング。 前のばねを柔らかめにし、後ろのトーを少し大きめに。 パラメーターはほんのちょっと変えたつもりでも見事に挙動に表れる。 キャンバーをいじるのも手だが、このゲーム、 キャンバー角を直接いじれるわけではなく、 サスペンションのパラメーターを変えた結果のキャンバー角が表示されるだけだから、 簡単に変えようとすると車高も変わっちゃって、 荒れた路面ですっ飛んでいく車になってしまったりした。

2011/10/15 のコメントを読む・書く


16 (日)

%1 調布飛行場まつり

今年は午前中だけ行こうかと。 自転車を走らせながら、そういえば、 去年は場内を周回する無料バスの写真だけ撮って乗らなかったんだった、 ということを思い出した。 今年は乗るかー、なんて軽い気持ちで行ったらすんげぇ行列。 あきらめ。

そう、今日は天気が良かったので大盛況なようだ。 しょうがないので、去年見なかった、中のほうの展示物を見て回る。 航空写真とか、調布飛行場から飛び立って撮影してくるものも多数あるようだ。 今年は災害が多いので、すでに何度も出ているとか。 震災関連のものも多かった。 あとは調布飛行場の歴史、みたいな展示物を見て帰った。

%2 レンタルカート

CCF でワンコイン。 のんびり行ったらお客さんが多くて 2 回しか乗れなかったアチャー。 タイムは 44.178 秒だったかな、まぁまぁか。

BS コーナーの入り方を変えた。 早めにブレーキで早めにアクセル。 ここから WAKO'S までしばらく全開区間だから、 立ち上がり重視すべきという考えによる。 なんて自分で思いつけたらいいのだが、 めちゃ速いスタッフさんの走りがそうなのである。 挑戦してみたところ、いいのかどうかはよくわからんけど、 突っ込みがんばるよりは楽でそこそこ速い気がする。 ラインも安定させやすい。

%3 WX320K のでんち

もう機種変したから前の機種の電池がどうなろうと困るわけではないが、 残量表示が今朝まで 3 目盛りあったはずなのに、夜中に見たら電源が落ちていた。 なんかおかしい。

まあ確かに結構電池の負担になるような使い方はしてきた。 そもそも 60km 通勤をしていた時に買ったわけだから、 移動だけでもかなり電池を使っていて、確か 1 週間持たなかったはず。 それに加えてたまに web ブラウザーを使うようなこともやっていた。 最高時速 120km を超える車両内からデータ通信してたんだから、 ハンドオーバー回数も相当なものだっただろう。 圏外も多かったし。

引っ越してからは移動距離は減ったが、 逆に通勤中に web ブラウザーを使う頻度は上がった。 それから 1 年くらい後、データ用回線を別に契約してからは、 使用時間はかなり減ったが、すでに電池容量が減りつつあるのは明らかだった。 それをテキトーな継ぎ足し充電で使い続けてきたので、 リチウムイオンバッテリー特有の、 バッテリー容量の誤認みたいな現象が起きていても全く不思議ではない。

とはいえ... 機種変して電波出さなくなってからというもの、 充電開始しても目盛りが増えなかったりしているし (電源を入れ直したりすると戻る)、 なんかソフトウェア的な問題もあるのかも。

2011/10/16 のコメントを読む・書く


17 (月)

%1 最高気温

きのうは都心で最高気温が摂氏 29 度だったとか。 きょうも 25 度前後になったようだ。 職場的には、夕方くらいになってから、暑いよね、エアコンつけようか、みたいな、 そんな感じ。

%2 RBR

RBR (PS2 用ゲーム)。 ターマックを攻める。 デフォルトのセッティングではずいぶん不安定でやりにくい。 そこで、ステアリングロッドとかいうのを調整してトーを変更。 デフォルト値から、前を +0.15mm, 後ろを +0.10mm だったかな。 これで劇的に安定してやりやすくなった。

トーの値の読み方はよくわからないが、負の数字がおそらくトーアウトかな。 デフォルト値よりトーアウト気味に。 実はグラベルのコースで同じことをやったら、 ステアリングの反応が遅くなってスライドコントロールが やりにくくなった記憶があり、 ターマックではステアリングが敏感すぎると感じたので逆に効果があるのではないかと 考えたのがあたりだったようだ。 あと、数字だけみても、 極端なネガティブキャンバーなのにトーが小さすぎるように見えるのも 気になってたし。

まあそんなわけでコースレコード更新できてないのは、 例の NewBobs II だけになった。

2011/10/17 のコメントを読む・書く


18 (火)

%1 GTEC

半年ぶりの GTEC (英語の検定)。 前回とは違って、全くと言っていいほど勉強してない状態。 最初の listening から、答えるたびに問題が簡単になっていく感じがしてしょんぼり。

今回は、時間制限を意識して、きちんと時間内に答えられるように意識した。 そのおかげか、すでに結果の出ている listening と reading の点数は、 前回よりは良くなっていた。

Writing は vocabulary のなさが致命的。 そして speaking は fluency のなさが致命的だ。 だがしかし、speaking の準備時間に思い出せなかった単語を、 録音を始めた後に思い出すことがあるのは何なのか。 我ながら不思議だ。

とにかく GTEC は、いつ受けてもできた気がしない。 できればできるほど難しい問題になっていくようだから、 当然といえば当然か。Listening は、 あるしきい値を超えたところで急に難しくなるように感じられる。 そのあたりに、自分のしきい値があるんだと思う。 映画を英語音声で見ている時に、すんなり理解できるところと、 まるでわからないところがあるが、その違いに似ているように思う。 流れで想像が付く映画と違って、listening の前後の問題に関係はないから、 ますます難しいわけだ。

%2 助格家

調布のラーメン屋。 行列ができているという噂なので行ってみた。

助ラーメンと格つけ麺というのがある。 つけ麺にするつもりだったが、 見るとラーメンが豚骨でつけ麺は魚介類のしょうゆ系とか何とか、 しょうゆっていうといわゆる東京のラーメン、 個人的にはあまりおいしいと思えないやつを思い出すので、 豚骨のラーメンのほうにした。 辛いのがあるってんで辛いほうにしてみた。

味はというと、スープは個人的には好みだ。 辛いのがきいてるところはあるかも知れない。 辛いといっても口の中が痛くなるような辛さではない。 スープがちょっと濃ゆいので、あらかじめ薄目で注文するか、 つけ麺用とされている割りスープを注いで調整するといいみたい。 油の量はふつうかと思うが、薄目にするなら少なめでもいいのかな。 麺はちょいといまいち感。 なんか粉っぽいというか味がしないというか... 肉 (チャーシューかな) は 枚数が多いのはいいが、ただ載せました感が漂う。

惜しいのは、全体的に量が控えめな上に具が寂しい。 ねぎと肉とほうれん草、以上、みたいな。 もうちょっと野菜類があるか、麺が多いかだといいと思うのだが。

行列ができているのは、オープンして間もないことと、 調布というそれなりに利用者の多い駅の近くにあるためだろうな。 駅から離れた地域だとちょっとどうかな。 例えば東八道路沿いのラーメン店、まだ行ったことはないが、 駅前のような集客効果がない分、 実はクオリティーが高いのではないかと予想している。 某鹿児島ラーメンの店もクオリティー高いし。

2011/10/18 のコメントを読む・書く


19 (水)

%1 さむい

朝から寒いなーと思いつつ出勤。 天気予報の時間別予報を見るとお昼の最高気温が摂氏 16 度。 えっえっ。 こないだの日曜日は 29 度だったのに。

%2 Git

git reflog というコマンドがあるらしい。 いままでに HEAD が指してきた commit の履歴が出力されるという。 つまり、作業に使ってた大事な branch 間違えて消しちゃった〜みたいな時に、 履歴から見つけられれば元に戻せるというわけである。(Branch というのが git では 自動更新されるだけのただのポインターなので。)

なにってまぁ、職場で、間違えて branch 消しちゃった〜って人がいたので、 何か復活の呪文があったはずだと調べて試してほんとに復活したっていう、 それだけのはなし。

ちなみに Mercurial の場合は、 拡張を使っていない場合はリビジョンを削除することができない。 そのため、git のようにお試しをしたい場合は、clone で複製を作って 作業することになる。 当然、間違えて rm -r をやってしまうと、復活するのは大変。

mq 拡張により、リビジョンの削除などができるようになる。 削除した場合は、元の内容はバンドルファイルにまとめられているので、 かんたんに復活できる。mq のパッチ機能を使用していて、 変更したり削除したりした場合は、古い内容は保存されない。 おすすめは、バックアップ用に、適当な場所を指定して適宜 hg push -f を 実行することである。Push 先はゴミだめのようになってしまうが、 パッチを変更して動かなくなってしまった時などに役に立つ。 バックアップから最新のものを取り出すには hg clone -r tip (hg pull -r tip) を 使えば良い。

2011/10/19 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2011 年 10 月中旬)

Hideki EIRAKU