体育館のトレーニングフロア壁面に貼ってあった、バーベル部の筋肉トレーニングについて書いたボテッカーから知ったこと。
研究室の新しい計算機導入に伴う設定手伝いとそれに伴う雑務と。
VisualC++ を買うついでに 160GB HDD も購入。 いろいろインストールし直すの面倒だから差し替えではなくて追加にした。 でその作業で中途半端なことをやった。 ホームディレクトリのパーミッションを 775 にしていたり(正しくは 755)、ドットファイルをコピーし忘れてたり。
また procmail でメールを失った。 古いアドレス宛だったから大事には至らないと思うんだけど……。
ゼミから帰って VC++ のインストールして procmail と格闘したらそこで力尽きてしまった。
procmail はレシピファイル自身のパーミッションだけではなく、親ディレクトリ(ホームディレクトリ)のパーミッションも見ているみたい。 エラーの指示をもちっと細かくして欲しいなあ。
実際の視界でも絵画でも良い。 とにかく画面があったとき、観測者はまず人間に注目する。 彼がこちらを向いているのならば、その中でも顔、特に目に注目する。 それから周囲を見るのだが、観測者の視点は無意識にそこに在る人物の視線の方向に誘導される。 この特性から、漫画において読者の視点を誘導することができる。
日本の漫画は右から左に読み進めていくという特性がある。 描かれているキャラクターを左向きにすることで、読者の視点をスムーズに流すことができる。 あるいは逆に、右向きの顔を用いることで意識的に読者の視点を引き止めることもできる。 あるいは、ページの端に寄った読者の視点を中央に戻すことができる。
以前ネットサーフィンしてる時に見かけた意見だが、「日本の子供向けメディアでは右側にいる正義の味方が左に配置されている悪者を攻撃している構図が圧倒的に多い」ということらしい。 これは、日本人が右から左に読み進めていくという特性に依るのではなかろうか。 「正則な流れの方向」という無意識下の意識というべきか。 ……勿論これは私が勝手に思ってることなので、「西洋ではどうなってるか」とかいうデータは全く知らない。
攻撃でなくとも、依頼や話し掛けなど、
「左側:受動 ← 右側:能動」
のようにするべきだと思う。
時間的な流れからもそうするべきだ。
サクサク滞りなく読める漫画は、左向き顔が多いような気がする。 だから、右向きと左向きではまず左向きを練習するべきだと思う。 負荷のかかる点を重点的に鍛えるわけだ。
漸く北斗の拳を揃えたのだが、読み進める度にジャギが可哀想になってくる。
七夕コンパ。 風車小屋ゲット。
「負荷のかかる点を重点的に」その二。 読者が漫画を読んでいるとき、その半分以上の時間はネームを読んでいる。 ならば我々は、一本の線よりももっとネームを磨くことに注力すべきだろう。
自分の漫画を何度も読み返してその度にニヤニヤしてる。 滅茶苦茶面白え。 そもそもは自分が萌える為に描いたのだが、少なくとも少数名は萌やせたみたいだし。 ……「俺の勝ちだ!」と思った。
昼間は研究室に行って涼み昼寝。
ああ、そうか、「VisualC++を使ってプログラムする」というよりは、「VisualC++ というアプリケーションの使い方を覚える」か。 なんか見方を変えるとちょっとラクになった。
『北斗の拳』読了。 北斗の末弟であるケンシロウが多くの兄達との戦いの果て、最終回でバットを弟と呼ぶのは大変良い終わり方だなあ。
論理的に別の作業であっても同時に行う作業を一つのスクリプトの中に叩き込んでしまう癖がある。 プログラムの見通しが悪くなるし、これは明らかに UNIX 的ではない。 こうやって作ってしまったスクリプトは分解していこう。
プログラムの見通しの良さってのは分量の2乗に効いてくるのだと思う。 半分の長さのものを適切に2つに分割すると、全体の見通しは2倍良くなる。
VC++ 勉強中。 ぬー。 キチンと本を揃えよう。 金よりも時間の方が惜しいんだから。
入力→(システム)→出力。 とりあえず出力の部分を出せるようにならないと色々いじって動作を調べることができない。
ようやっとダイアログの入力を反映したメッセージボックスを出せるようになった。 コンソールプログラムで言うと「Hello, world!」に変数を混ぜたくらいだろうか。 でもまあこれで何とかプログラムの挙動を確認できる。 試行錯誤でプログラムに肉付けしていくことができる。
たまたまキッカケがあったというのもあるが、流石に今回が Windows プログラミングを身に付ける最後の機会だと思う。 頑張ろう。
VC++ 夜の部。 入力回りをいじって理解を深めただけ。
あー、時間ねえ。
一つ目の研究の論理が固まった。 助手の先生とこれで良いか相談して、英語にする(してもらう?)作業がこれから。
漫研の荷物を2回生の下宿から本部の倉庫へ搬送、その運転手。
8月の研究会の概要が明日まで。 他の人に頼まれたやっつけ仕事スクリプトをできるだけ早く。
スクリプトは2時間でやっつけた。 perl だったらもっと早く上がったが、まあ練習ということで ruby で組んだ。 慣れないのでやっぱり汚い。
さ、次は概要か。 でもモチベーション上がらない。 ゴスッと床寝かまそうか。
概要完了。 ちょっと早いけど退けて VC遊びをすることにしよう。
ちうてもアマゾンからVC本届いてないし、手持ちの C++ 本の勉強を再開することにする。 土曜日中に一通り読み終わることを目標にしよう。 一日で 170ページ、ちょっとムリめギリギリのライン。
一日で50ページしか進まなかった。
プロテインって大豆タンパクなんだな。 てことは肉を多めに飯食うよりも、普通に食ってプロテインで補足した方が健康的にタンパク質を取れるということか。 ビタミン・ミネラルも入ってるしな。
テンプレートいいなあ。
21時睡眠で2時間で起きてしまった。
24時の時点で C++ 本あと20ページ。 仮想関数、テンプレートは大変エキサイティングでした。 STL(標準テンプレートライブラリ)の章を今読んでるところだけど、これもかなりエキサイティング。
選挙。 まあやっぱりどこがどういう政党なのかよく分かってないし、政党と候補者の使い分けみたいなんもよく分かってないんですが。
何年も前だが友人に「選挙ってのは近所の中学校に公然と入れる日なんやで」と言われて目が覚めた。 小学校とか中学校という空間は結構好き。 勿論自分が通った学校とは大きく異なるのだが、フォーマットが同じだからかな、それでもやっぱりノスタルジーに浸れるというか。 それ以来選挙に行くのが全然面倒と思わなくなった。 普段入れない空間だし、今日は小学校の校庭でちょっとぼーっとしてきました。
思い出すと私が通った小学校の校庭が大変広かったような気がする。 今見ると小さいんだろうなあ。
そういえば最近研究室に行くのがダルいとか感じなくなってきた。
こんなところか。 なんか結構、幸せだなあ、俺。 でも来年どうなんのかな、俺。
C++本終了。 STL はそれ専門の本でもうちょい勉強が必要っぽい。 研究室の人が持ってるのを見たことあるからちょっと読ませてもらおう。
コンストラクタ、デストラクタや new、delete 周りがちょっと雑な作りをしてる気がするけど非常に強力っぽい。 テンプレートには痺れた。 そして偉い人が作った STL にも痺れた。
M2の中間発表打ち上げの学科飲み会。別の研究室の D3 の人とマターリ話す。
彼「分かると思うんやけど……、高校んときはマジックにはまってて……」
俺「マジックって、ギャザリングですか?」(俺やったことないけど)
……ニヤニヤ……
はっ!
「……何で分かったんすか……?」俺がこっち側の人間だって事が……苦虫を噛み潰したように言う俺。
彼「いや、中央食堂でよく見るし」
そーか、サークルでヲタ話に花を咲かせているところを目撃されてた(あるいは聞かれてた)わけでつか。
……スンマセン。
読める、読めるぞー! C++ 本を丹念に読んだおかげで C++ のソースに随分慣れた。 書けるようになるにはもうちょっとかかりそうだけど。
また同じ過ちを繰り返すところだった。 寮で LAN 管理の仕事を抱え込みすぎて破綻したのは、自分で処理してしまおうとしすぎる傾向があるからだった。 今も研究室で古い(=「あまり重要でない」かつ「特殊な UNIX」)計算機の管理に力をかけすぎている。 気付かせてくれた人に感謝するとともに、もうちょっと他人に仕事を投げるのが上手くならんとな、と思う。 ……上手に、ではないな。 「他人に仕事を投げるのを面倒と思わないようにする」。
研究室対抗ソフトボールは決勝で敗れて準優勝。 賞品のビール券1万円分を使って研究室で飲み会。
研究室は涼しいけど床はかたいし計算機は騒いしであまりよく眠れない。 連続で寝ると腰とか首とか痛くなるし。 もうやめよう。 暑く浅い眠りでも、ちゃんと帰って寝た方がマシだ。
なんか何もかも中途半端でやんなってきた。 まー中途半端だからこそいっぱしの者になれるように頑張らにゃならんのだが。
研究室の人に勧められて howm というメモツールを試してみる。 面白そうではあるのだが、1ジャンル1ファイルな旧態依然な方法論から頭を切り替えられない。 わざわざ emacs 起動するのも面倒だしなー。 howm-mode.vim ってのもあるから試してみるかな。
howm-mode.vim はなんか動かない。 vim のバージョンの問題かなあ。 ……いずれにせよ、どうもしっくり来なさそう。 コマンドとして作って、入力の必要がある時だけ vim を呼び出すみたいな形式のものないかなあ。
メモツールに求められる機能のうち、過去に関することは私にとってあまり必要ではない。 こうやって日記つけてるし、スクリプトの更新についてはバージョン管理システムで更新箇所を日本語で残しているからだ。 changeLog を勧められた時に魅力的に見えなかったのは、こういう過去の点だけを提示されたからだ。 howm は「予定」についての機能が充実している。 まだよく知らないけれど、少なくともそう勧められた。 だから、興味深いツールだとは思うのだけれど。
『キーチ!』(新井英樹)。 どうしてこの人は社会の汚い部分を こんなにも生のままに描き出せるのだろう。 某は彼を天才だと評していた。 私は彼の作品をそんなに読んでいないのでそこまでの評価はまだ出来ない。 しかし、希有の才能であることは確かだと思う。
プロシージャというものの読み方がちょっと分かってきた。 でもこんなにのんびりやってて良いのかなあ。
最近遊ぶのに忙しすぎて時間がない。
一部の人は知ってるだろうけど、私はエロゲーの OPデモを集める趣味がある。 ちうてもメーカーサイト直でチェックするんじゃなくてミラー配布サイト経由でめぼしい物を落としてくるだけだけど。 で、当たり発見。
ゲームなんてやってる暇なんてないけれどー、ないはずなんだけどー。 誰か買って、やって、俺をニヤニヤさせてくれんかのー。 ……いや、デモ見てるだけでニヤニヤしてるんだけどー。
友人が部屋に遊びに来てたので例会行けなかったっす。 そして明日は焼肉! ……肉欲を満たしまくるのみです。
ruby で書かれたアンテナがあるらしい、ということで探してみる。 『たまてばこ』と『rAntenna』というのらしい。 たまてばこは開発が止まってるみたい。 で、ネット上の人は結構たまてばこ→rAntenna という乗り換えをやってるみたい。 よろしい、ならば rAntenna だ。 まあ忙しいから後回しだけど。
『Windowsゲームプログラミング』(赤坂玲音)。 今第一章を読んでる所だけど、この本凄く良い! ANSI C(あるいは標準C++)から Windows プログラムへの橋渡しがすごく丁寧。 「WINAPI とか HINSTANCE とかいう識別子、見た事もないんですけどどーゆーもんなんですかー?」という当然湧いてくる疑問をキチンと片付けていってくれる。 「Windows が隠してくれてるから中身を知る必要はない」と教えてくれる。 「かゆいところに手がとどく」感じ。
あと、記載されているソースで、注目すべき点を太字にしてくれているのが嬉しい。 大変効率良く読める。
C 言語って凄い。 あんなに大昔(20年以上前?)に出来たのに、無茶苦茶しっかり作られてる。 プリプロセッサや分割コンパイル、それに伴う仕組みとか。 文字列操作やエラーチェックは弱いけど、これはプログラマのスキル次第で機械の性能を極限まで引出さなければならなかった時代を反映しているのだろう。 ……てゆーか、性能を極限まで引出さなければならない場面は現代でも多いだろうし。
Windows プログラムの考え方が漠然と見えてきた。 キーボードやマウスオペレーションで選択やチェックボックスを入れるのは、今まで漠然と「操作してる」と捉えていたけれど、これは「プログラムへの入力を拵えている」ということになる。 いや、色んな形式のプログラムがあるから一概には言えないだろうけど、視点が一つ増えた、というか。
こうやってプログラムの勉強を進めていると、一通りなぞったつもりの C 言語の領域が理解できてなかったことに気付かされる。 例えば文字列の初期化とか、ポインタの意味だとか、ポインタ渡しの使い方とか、構造体だとか、static 宣言子だとか、宣言の意味とか、関数を()付けずに書くとポインタになるとか。 まあ手を動かさずに学んだだけなので当然っちゃ当然だが。
プログラミングをするときの癖というか、習性というか。 私は入力から順に、一歩ずつ固めていくような作り方をよくする。 シールド工法のような、一般的にいうとボトムアップなやり方。 しかし実際のプログラムの現場では入口と出口を別人が作ることも多いのでそのへん抽象的なまま開発を進めることが必要になる。 本職のプログラマになるかは別問題として、こういうやり方を身に付けておくのは有用だろう。
しかし私のやり方って、まんま手続き的思考やわな。 これじゃオブジェクト指向に移行でけへんわ。 こーゆー作り方が問題の一端やったんか。
議論をすると相手が「勝てる」という部分だけ選んで反応しているように見えてしまうことが結構多い (無論私は建設的な議論に勝ち負けなんてものはないと思っているが)。 実際は相手はそんなつもりではなく、相手にとって(もしくは真に)それこそが議論の焦点となる部分なのかもしれない。 私はそうならないように気を配っているつもりではあるが、端から見るとやっぱり「勝つために論点を選んでいる」ように見えるのかもしれない。 いっぺん自分を完全に客観視してみたいけど、そんなことは人間になせる業じゃねぇしなぁ。
つーか、自分が本当に聞きたい部分を適切に強調できない単純な1次元デバイスである文章による議論の限界だな。
ジョグダイヤルって奴がソニーっぽくて嫌いだったんだけど、ジョグダイヤルってボタンより1次元高い入力装置なんだってことに気付いた。 物を動かすには力を加えて加速度を与え、それに時間を作用させるという手続きになる。 現実世界の物を動かす時は力を与える方向と大きさをそれなりの自由度で変更できる。 ジョグダイヤルとボタンは、方向を共に特定の方向に限定されている。 しかしその大きさ(速度)については、ジョグダイヤルはある程度の自由度を持つのに対して、ボタンはその大きさが固定されている。
独自規格のデバイスってのは好かんけど、より良い物をスタンダードにするために自らの体力を使ってくれるという点では好ましく思うべきだろう。
議論において自分の在るべき立場を模索するという私の立場が奇特なのか?
赤坂本終了。 明日からはモノを作れるかどうかやってみよう。
『美女で野獣』(イダタツヒコ)。 最初は「ふーん」てな感じだったけど、3巻くらいから滅茶苦茶面白くなってきた。 個人的には2巻のおまけ「お楽しみはどこから?」がクリティカルヒット。 和田誠を持って来ますか。
てゆーか、無茶苦茶間の取り方上手え。 ネタも良い。
とりあえずダイアログベースのプログラムを作ろうとして、つまずく。 んで、「エントリポイントが見当たらない!」とか思ってウロウロしてた。 ……プロジェクトを新規作成にするときに訳も分からず適当に MFC を指定しちゃってたみたい。 MFC でやったらそういう部分は隠してくれちゃうので見えない、と。 とりあえず練習みたいなもんなので普通のウィンドウアプリケーションとしてダイアログを一から作ってみよう。
てゆーふーに考えると、ダイアログボックスてゆーのは結局単に入力フォーマットを整形するためのもんなので後回しにしても良いわけだな。 なんかスッキリした。
今日は進んだわけではないけれど、まあ無駄にしたわけでもないので良しとしよう。
キーボード操作で一番上の段の端付近のキーを薬指で打つ癖がある。 「小指の方が近いのになんで薬指で打つのかなぁ」と自分で思うでもなしに思っていたけど、今日その理由が分かった。 キーボードを打つときに手首をベタッと机に置いてるので、手首をスライドさせるよりも手首を中心に手を回転させた方がラクだから、というのがその理由のようだ。
なんでボトムアップにプログラミングするかというと、自分のプログラミング能力に自身がないからというのが理由みたい。 空っぽのプログラムにはバグは入ってない。 バグというよりシンタックスエラーのレベルの問題かもしれん。 ちょっと書いてソースに入ったエラーを退治して、というようにやらないとエラーが無数に出て来てどこがどうなってるのか分からなくなりそうで怖いんだ、私は。
この辺プログラミングを始める前、TeX のコンパイルがエラーでわやくちゃになったのが原体験ぽい。 C++ という言語についての習熟は圧倒的に足りないけれど、Perl やら Ruby やらで積んだ経験で論理的に組むということ、てゆーか文法的なエラーをなくすということは問題なく出来るようになってる筈だと思う。 そろそろ上のステージへ上がるべきだ。
プログラミングはパズルみたいなもんだと思う。 で、与えられた命題に対してオブジェクト指向で、クラスを使って解法を試してみる。 ……なんかクラスを構築するって、パズルというより箱庭作りに近いような。 これも楽しい。
例会の後誘われてダーツというものをやってみた。 狙ったところになんぼか入るようになると楽しいんだろうな。 今んところ、全部重力に負けて下方向へズレる感じ。
暑くて睡眠が不順。 結局研究室で床寝してしまっている。
こうやってプログラミング能力を鍛えた時間の分だけ、漫画描きとして過ごせる時間が減っていく。 何だかんだ言うて来年は教授のツテで就職してそうだし。 まあ就職しても漫画描いてる人とかはたくさん(?)いるんだろうけど、そこまではやらない予感。 弱いからなあ、俺。
TOEIC IP テスト。 全然聞き取れませんでした。
カレー欲が急激に高まったので作ってみたが、2時間くらいかかった。 もっと時間を短縮できるとは思うんだけどなあ、と毎回思う。 材料を全部刻んでから炒め始めるんじゃなくて、まず玉葱刻んでそれを炒めながら他の物を切っていくという方針でやると数割短縮できそう。
あー、やっと分割コンパイルとリンカの関係が分かった。 両方とも概念としては知っていたんだけど、頭ん中で繋がってなかった。 「別ファイルに定義されているものをどうやって呼ぶんだろう、ファイル名を指定していないのに」とかボーンヘッドなことに悩んでいた。
右足と左足で筋肉の付き方が違う。 普段下半身は全く鍛えてない。 ということは、歩いたり自転車こいだりでこんな差が出たということか?
先週金曜日に強めに筋トレした筋肉痛がまだ残ってる。 これくらいで筋トレを重ねると効果的だろうなあ、と思ってたら研究室から召喚の電話。 筋トレはまた明日。
ということで昨日の停電で死んだ計算機の復旧作業。 ……終わったと同時に激しく雷雨。 また停電になるんじゃないかとビクビクしてました。
例会行こうとしたけどやってる場所が分かんなくて、探す体力も残ってなかったのでそのまま帰って寝る。
筋トレ、あちこちを弱めに多く。 しかし、馬歩に耐えられない体になってしまってるわ。
研究室でひたらすらテキスト書き。 研究室内で公開している Unix Tips を何とかラクチンに外に出せないかと画策中。
VC プログラミング、もうちょっと理屈が分かってないと苦しい。 ダイアログボックスと各コントロールの制御についてもうちょっと勉強しよう。 あと暇を見て K&R に一通り目を通しておきたいところ。
久々に9時間睡眠。 今日も頑張ろう。
大学の図書から 『zsh マスター』の連載していた頃の UNIX USER をまとめて借りて来た。
研究室に居た8時間くらい丸々 zsh の勉強。
オナニーって大変高度な精神活動なんじゃなかろうか。 どういうオカズかにも依るけれど、例えばエロビデオだったら男優に自分を投影して、あたかも自分がヤってると思い込む。 静止画だったらそれが動いてる物だと思い込む。 「自己と他者の違い」とか、「その上で他者に自分を投影」とか、「自覚的に脳を騙す」とか。 そういえばサルに絵という概念は理解できない、という話も聞いたことがある。 リンゴの絵からリンゴを連想できないらしい。 サルのオナニーの話は(おそらく寓話として)聞いたことがあるが、本当にサルにオナニーが出来るのだろうか?
Windows機のパーティションの切り方を間違えていた。 正確には読みを誤った。 昔と比べて状況が色々変わっているので1パーティションでシステムもデータも入れてしまうのが得策っぽい。
「2パーティションに分けると使い切れない領域が2箇所になり、その分無駄が増える」というデメリットは今も昔も変わらないが、「2パーティションに分けることによって管理がし易くなる」というメリットが随分減少した。 ……うー、こうやってまとめると再インストールしたくなってきた。
「C/C++ の言語仕様は汚い」という言葉の意味が段々理解できてきた。 プログラミングのミソは「如何に修正箇所を1箇所にかためるか」ということだと思う。 C/C++ はそれをするのに一定の/かなりの習熟を必要とする。