原則匿名で公開・個人情報は送られません。必要に応じ御署名/非公開希望をお書き添え下さい。
_ 掲示板:YaPW 旧掲示板 SMIL Boston日本語訳(頓座)
乗車姿勢の見直しなぞして、会社まで1時間を切ってみる。ただし、疲れる。今の体力だと毎日はもたないこと必至。
先輩が他人の書いたC++のコードに苦しんでいたのにつきあって、STLのごくごく簡単なお勉強。
なるほど、確かに便利そうなものだが、「できる範囲で行なった最大限の妥協点」って感じもする。後付けのわりにはよくできているが、先に作るなら絶対にああはなるまい。
STLは全部ヘッダファイルなので書き換えられるという後付ならではのメリットもあるのでは?
書き換えちゃうのはテンプレートの使い方としてはどうよ、と思ったりもするのですがそれはともかく。
なんちゅうか、関数オブジェクトを作ってオブジェクトを突っ込む、というやりかたが、C++本来の思考法と逆行している風味なのが「絶対にああはなるまい」だと思うのです。
_STL自体はまさしくクラス指向の利点を利用したものですが、それをSTLって名前で(プログラマの思考から)ラッピングしてしまうのが問題。結果として、C++ + STLって環境は、クラス指向メソッドと、STLメソッドという、2系統のオブジェクト操作インターフェースを持つようになる。
で、直交概念を両方包含すると、思考の混乱を招く要因になるように思うのです。
_もちろん、それによるメリットがあるのは否定しません。ただ、STLの概念を把握せずに、STLという環境だけが利用されてしまうと、全体としてひどく混乱した言語系になってしまう。で、それはミスを招きやすかろう、と思うわけです。
_まあ、世の中にはPerlという出鱈目なプログラム言語が存在していたりもするので、一概に悪と言う気はありません。綺麗に単一概念しかないシンプルさが仇になる場合もあるわけだしね(^^;
先輩に「プロセス終了時のメモリ解放ってどうなってるのかのう」とか言われてカーネルソースを覗きはじめたのがきっかけで、気付くと4mb Laptop HOWTOなぞ読みながら、ThinkPad220用のカーネルをガリガリと構築させ始めたり。おかげでさんざ脱線していた仕事が本道に戻ったと言う副作用も。
_考えとしては、中座しているシリコンディスク化の一環としてである。目論見は、Software SuspendとReiserFSを両方入れて、ということで、ReiserFSパッチを当てた2.2.19のソースに2.2.18用のSoftware Suspendパッチを強引に当て、とかやっているわけだ。が、zImageにするには大き過ぎるとエラーを吐かれる。
ThinkPad220では、bzImageでは起動しやがらないはずなので、どうしてもzImageに収めねばならない。試しにReiserFSサポートを外すと文句もなく終了。bzImageで試して玉砕するか、2.4系だと小さくなるかもなどとおよそありえなさそうな期待をしてみるか。ちなみに削れるものは尽く削っている。フロッピーディスクのサポートすら外している。
ところでおよそ現実的な回答は、ThinkPad220ではありがたみのないであろうSoftware Suspendを外すことであろう。一応は試しに使ってみて、具合を確かめてみるのがよいか。
これはもうオンラインソフトがどうこうとかいう次元ではない。無知を知れ。
ところでReiserFS + Software Suspendなカーネルは、PCIバスのサポートを外したらzImageでも作れました。……ThinkPad220は、およそPCIバスなぞ積んでいないでしょうから、多分問題はないでしょうが。他にはちっとも応用が効かなさそうな勢い。
Soutware Suspendを入れるつもりなら、 東芝Dynabook SS3010 でのHibernationが参考になるかもね、とどこへともなく言ってみるテスト。
240MBのHDDで動いている実機に、makeの成功したPCIサポートなしカーネルを入れる。pcmcia-csも入れる。再起動して、無事動いているのを確認。これで問題は、suspendが動くかどうかに絞られてきた。
で、試す。うまくいかない。ちゃんとアンマウントしてないと怒られてfsckの長いチェックを待たされて。で、動き出したと思ったらlibc5.so.1が見つからないとか怒られる。強引に電源切って再起動すると復旧。
どうやらresumeが中途半端にしか成功しないらしい。2.2.19に2.2.18のパッチを強引に当ててるからなのか、それとも別の原因があるのか。要調査。
会社から帰ってきて、録画しておいたサッカーの日本-イタリア戦。
前半の日本代表は、まるで知らないチームのよう。立ち上がりが激しいとか、カウンター気味の速攻ができるとか。相手のコンディション・モチベーションが低いのは確かであるが、こりゃ別物である。
違うと言えば、稲本。元々押し上げたときの攻撃に見るべきものがあった選手だが、アーセナルに行って「ボランチ」という邪魔な意識がいい感じで抜けてきたようで、実に気持ちのいいMFぶり。
システムも、右の波戸下がり目で左の小野上がり目だとか、いつにないバランスのよさ。イタリアがちっともプレスしてこなかったせいではあるが、トルシエも真面目に4バック的オプションを考えられると言うことかもしれん。ともかく、この前半のチームなら、来年にも結構期待が持てる、という出来。
_が、後半は目に見えて悪くなる。なんちうか、いつものトンチンカンなトルシエ采配炸裂である。前線引っかき回せる森島は下げるわ、FWに鈴木と西沢並べてみるわ、いったい勝つ気があるのだろうか。
_結果(引き分け)は上々か。強豪とはいえ元々相性の良さそうな相手、ホームゲーム、相手のコンディションはボロボロ、ってあれこれ考えると僅差の勝ちまで期待したかったけど、まぁそれは贅沢だろうて。
仕事。PerlDBIを使用中。$dbh->selectall_arrayrefとか、$dbh->selectall_hashrefとかを使いやすくするために、arreyrefとかheshrefを適当にblessして扱いやすくしてくれるモジュールとかあるだろー、と思ってCPANを見にいくもなさげ。
本当にないのか、はたまた探しかたが悪いのか。ともかく仕方ないので自分で作ってます。一般的なお作法(無名ハッシュを用意してbless)なぞやらずに、リファレンス渡しされた対象のarreyrefやらhashrefやらを直接blessするという剛毅な有り様。オブジェクトを作るってよりは、既存のarreyrefやらに関数オブジェクトを付加するってイメージ。
先週買ったスーパーロボット大戦α外伝をやりながら、自作なWeb更新時刻チェッカのメンテナンス。コードの整理をしてみたり、ad hocにやってごちゃごちゃになっていたデータ構造をすっきりさせたり。
っていうか、小さな手直しばかりしていたら、肝心の改造に着手してませんよ? 本末転倒?
仕方がないのでスパロボでもやってフテ寝します。
……この調子でいろいろあると、10年もしたらNYは無くなっているのではないだろうか、と不謹慎なことを言ってみる。ただでさえ有力候補だったのに、アメリカにとって21世紀最悪の1年としての株は急上昇である。
ともかく、それだけの不幸があった。何かができるわけでないが、せめて祈りを捧げておこう。
で、試しにTest::Unit::TestCaseなぞ使ってXPなTestというものの雰囲気を味わいつつ。
今のところ、テストのデバッグの方が手間がかかるという有り様ではあるが、雰囲気はなんとなく味わえている。初期フェーズはテストと機能を両方デバッグしていくような感じで、威力を発揮するのは中期以降か。
最初にテストを書くことで仕様も明確になるし、必要なこともわかってくる。ペアプログラミング環境下なら単純エラーの数も減るだろうから、テストを書く手間が増えてもなお有利か。
ともかく試してみたいという気持ちはあれども、所詮身分は下っ端さんである。ま、できるとこだけでも試してはみるつもり。
xwindow.h:63: ISO C++ forbids declaration of `mapRaised' with no type
みたいな感じに怒られたので直してみました。そんなわけでパッチ。
diff -u XJTEXT-1.3/xwindow.h XJTEXT-1.3-ISOC++/xwindow.h --- XJTEXT-1.3/xwindow.h Sat Sep 4 22:45:16 1999 +++ XJTEXT-1.3-ISOC++/xwindow.h Tue Nov 13 14:04:24 2001 @@ -60,7 +60,7 @@ XSetLineAttributes(TheDisplay,TheGC,1,LineSolid,CapButt,JoinMiter); XDrawLine(TheDisplay,TheWindow,TheGC,X1,Y1,X2,Y2); } - inline mapRaised(void) { XMapRaised(TheDisplay,TheWindow);} + inline int mapRaised(void) { XMapRaised(TheDisplay,TheWindow);} }; #endif
そーいやONE卒業文集再版するらしいです。参加者として一応宣伝。
それとは別に、C.Fさんも書いてますが元長本「福音書(仮称)」なんてのを出したいなって話をしてたり。元長作品はKtFしかやってない私が言い出すことではないような気もしますが。冬コミ合わせで準備号を出しつつ来年2-3月の発刊を目論見CHU? 煽動賛同者募集中。
むしろ個人的には現状欠番になってしまっているProgressive9(Progressive8で書いた、でぶ猫と不思議少女の学園ファンタジーの続き)をどーにかしてやらんといかんですが。えー、あれから1年経ってますが、状況は芳しくありません。欝。
Perlなオブジェクト指向でふにふにとコーディング中に、メソッドの最後に自分自身(一般的には$self)をreturnしてやればメソッドチェーンができることに気付いてみる。要するに、「 $sample->fetch()->Jcode('euc')->dump();
」みたいな書き方ができる。場合を選べば、かなりコードがすっきりする。いい感じなので採用。
なんのかんので日々送られてくるケータイにSpamですが、今日届いたのは斬新です。
「出会い系サイトの広告と思しき、どこにもURLの書いてないSpam」多分文字数制限にひっかかったのだろうけど、いったいなんの意味があるのだろう(笑)
空もそれなりに気持ちがいいってのに、ひたすらやる気の出ない一日。貢献らしい貢献っちゃあ、聞き耳立ててた近くの会話に、たまたま知ってた技術的アドバイスを入れただけ。おかげでそっちは一気に話が進んだようだけど、自分の仕事の方はさっぱり。
こういう日もあるさね〜な気分になるのを、いかんいかんと思い直し、でもやっぱりやる気はわかない。見事なまでの無気力模様。