だだもれ

2013年09月30日

風邪。風邪ウィルスは高温多湿で勢いを失うので、 風邪が来たと思ったら、すぐにマスク+首にマフラー+カイロ、 というのがいいらしい。うまくすれば鼻と咽で食い止めて、 全身の発熱まで至らずに済むと言う。拳法の先生は風邪引いたらサウナ と言っていたが、理にかなっていたのか。

だが今回は間に合わなかった。というか、マスクとカイロ がどこにあるか探す手間をかけられなかった。

一本下駄を買った。今日はオタマを遊ばせる時に履いていたが、 歩くこと自体は難しくない。静止は数秒以上は困難。 また、地面が芝生や砂場で柔らかいと難易度が跳ね上がる。 走ることも今のところ難しい。 なんにせよ、オタマを遊ばせる間強制的に訓練できるのでとてもいい。 本来ならこれで通勤したいところなのだが、 まだ安全性に不安がある。

左右で動きが非対称なことがよくわかった。右の足首が固い。

malloc本をどうするかをずっと考えている。 風邪で集中力が出ないので、こんな時は 曖昧な思考でいいことをした方がいい。

アマゾンのレビューが二つになった。ありがたや、ありがたや。 しかしそれはそれとして、誰か叩かないんだろうか。 「こういう本がのさばると有害だからしっかり叩いておかないと」 とか言う正義感あふれる人はおらんのか。 そういう人がいた方が、全体として評価が高まる。 みなが誉めているとかえって引くだろう。 けなす人の注目ポイントはどこか、誉める人の注目ポイントはどこか、 というあたりがわかる方が買いやすいと私は思うのだが。 ただ、正直できればアマゾンのレビュー外で叩いてくれると助かる。 点数下がると影響ありそうだし。虫のいい話だが。

でも、前の本で星一つのレビューがあったのはありがたかった。 なぜ消えたのかわからない。あれは消えずに残っているべきだった。 素人の素直な意見のサンプルとしてあれ以上のものはなかったと思う。 できれば深い考えをもつ玄人による星一つレビューも欲しかった。

いろんなことがよくわからん絡み合った事情のために先送りされ、 気がついた時には手遅れになっている。 利害関係者を集めてはっきりさせれば簡単だと思うのだが、 よくわからん絡み合った事情のためにそれはなされない。 いろんな場所で「あれヤバいよね」という会話が交わされつつも、 改善にはつながらないままに終わる。

私には非合理に見えるが、 プロジェクトがうまく行くこと以上に大切なことがあるのであれば、 それが合理的である可能性を考えることはできる。 例えば、誰かに仕事を任せたがまるでダメ、ということがある。 良くあることで、任せた人間のマネジメント力が問われる局面だ。 この時に、私にとっては放置は最悪の選択肢に見えるが、 評価基準によってはそれが最良の選択肢になる、ということは想像できる。 例えば短期的に心理的動揺を抑えることを優先するなら、 それは合理的でありうる。 「君じゃダメだ。他にやらせる」と明言するのは、言われる方も言う方も キツい。また、代わりを誰にするかも問題だし、 任せた判断が間違っていたということを認めるのもなかなかに負担である。 しかし、それはやらねばならんことだろう。 どこまでうまくやれるかはその人の人間的度量次第だが、 仮に度量が足りなくて傷つけてしまうとしても、 やらねばならないことだ。 それをやらないと、一緒に製品を作る人間全員を愚弄することになる。 仕事の目的が貶められる。

まあ、そうなった時に私にできるかどうかはわからんがな。 一回部下持ってみたいなあと思うが、もういいや。 もう割り切って本を書くことに集中することにする。 物を作る仕事に戻ったとしても、たぶん一人で作るんだろう。

数が出る本であるべきだ。そのためには前提スキルを高くすべきでない。 私の能力はスキルの低い人向けの説明の方が生きる。 高レベル者は勝手に難しい本を読むなり、コードを読むなりすれば良く、 放っておけばいい。私の本から学ぼうとは思うまい。

次に私が伝えたいものは、「性能を気にするプログラミング」そのものだ。 これを軸に置くことはもう決まりでいいだろう。 そして、性能を高める手段としては、 アルゴリズムとマシンアーキテクチャの理解が基本になる。 したがって、題材はこの二つのうち最低でも一つを含まねばならない。 優先すべきは前者であり、後者は触れるとしてもわずかで良い。 ただし、散漫にならない程度の量でうまく触れられれば、深みが増すし、 さらに学習すべき分野がどこなのかを示せる。 また、性能としては速度と容量効率、頑健性があり、 その間にはトレードオフがある。また実装の手間、運用難度、 などもトレードオフのある要素として入ってくる。 こういったトレードオフを語らずに単に手法だけを並び立てるのは良くない。 地に足がついた話にならないからだ。 だからアルゴリズムをバラバラに紹介するようなマネは断じてしない。

アルゴリズムと言えば、まずはソートと検索である。 検索があればソートは書けるので、検索のみと言ってもいいが、 最も簡単な検索である二分検索がソートを前提とするので、 初等的なソート、若干マシなソート、二分検索、スキップリスト、 平衡二分木、という順序での説明が良いと思われる。 このストーリーの中では、クイックソートやマージソートは説明する価値がない。 初等的なソートからの距離が大きすぎるし、 マージソートは余計な領域が必要という使い勝手の悪さゆえに取り上げにくい。 分割統治の考え方の例としては二分検索で十分だし、 二分木だって分割統治の一種だ。

「検索があれば書けるソート」としては、辞書と二分ヒープに由来する ソートがある。辞書は平衡化二分木かスキップリストで書ける。 いずれも実装できてしまえばソートを作れる。 二分ヒープは完全な検索ではないが、それゆえにソートの基礎としては より適切である。

マシンアーキテクチャに関連して知るべき項目は、 キャッシュの問題、命令ごとのコストの問題、 分岐コストの問題、あたりがある。 ここで重要なのはキャッシュだろう。キャッシュ効率が 問題にならなくなるような計算機の進歩が10年以内に起こるとは 思えないし、効果も大きい。しかし、自然にこの話題になるような ストーリーが出てくるかどうかはわからないので、 「あわよくば」程度に思っておけば良いだろう。 メモリ効率が良ければキャッシュ効率も良い、ということは ある程度期待できる。ここはやはり削り落とすべきか。

とすると、検索が速度を左右するような用途で、 容量効率や頑健性が手法で左右され、かつ その産物を使う時の運用の問題まで絡めて話をできるような題材が 必要になる。いや、もうmallocくらいだろそれ。 データベースの類を作れば検索とソートの化け物になるので わかりやすいが、運用がどうとかいう話にはなりにくい。 mallocほど向いた題材はない。

あとは、書名に「malloc」と書くと、上級者向けのネタに見えやすいので、 これをどうにかする必要がある。「メモリ管理」「メモリアロケータ」 もダメだ。あるいは、それらの言葉を使ってもなお初心者向けであることを 示せる題名でなくてはならない。 つうか、適当に書くならmallocなんてまるで難しいネタではないのだ。 あれに難しいイメージがついていること自体がおかしいのであって、 理屈も用途も実装も、基本は大層素直な代物である。

テトリス本を読み終えて、Cの本で文法は覚えた、 という程度の人間でも読めるように書きたい、と考えると 今まで書いた500ページはかなり根本的に直さないといけない。 実際なんぼ売れるかは売るまでわからんとしても、 「ジャンルから言ってマックス1万部」と出版社の人に思われたら終わりだ。 そんな本は当然4000円とかにされるし、すぐ絶版になる。 ガベコレ本は売れたと聞くが、今アマゾンで買えないわけで、 それでは困る。10年売り続けるつもりで書かねばならない。

前の本よりも対象読者が広いはずだし、 コードの難易度も前の本より低いのだから、 前の本より数を出すつもりで書くべきだ。 前の本は数学もあったしkd-treeもあったしスレッドもあったわけで、 到底初等的とは言えない代物だったのである。 mallocなんてそれに比べればはるかにやさしい。 そりゃ本気で作れば難しいが、それは何だって同じだろう。

値段は当然前の本より安いはずで、最悪でも税込3000円つまり2700円、 できれば税込2000円つまり1800円が望ましい。それでもうけが出ると 出版社の人が思うだけの対象読者集団を 持つジャンルの本として認識される本でなければならない。 世の中に挿入ソート一つ自力で書けないような人が ゴロゴロいるのはわかっている。そういう人をどうにかしたいのだから、 そういう人に届かせねばならない。

もっとも、1800円は無理だろう。今回は多少高くなっても入れるべき 内容は入れる。A5の製本限界である700ページ台後半くらいの分量はありうる。 そうなれば2000円以下で売ることはできない。 また、テトリス本ほどあからさまな初心者本ではないため、 出版社側は「高くても買うだろうし高くしよう」と思うだろう。 それが本当ならいいが、それで本来届かせたい人を遠ざけては私としては困る。 mallocを前面に出したら負けだ。それをやると3000円台になる。 アルゴリズム本であってmalloc本ではない、という扱いにしないと。

なお、対象読者を広げるために技術的なレベルを下げると言うと 批判の対象になると思うのだが、私が一番言いたいことは 使う技術の高度さではなく、その技術の扱い方だ。 その意味で、上級者にもアピールするはずだと信ずる。 テトリス本も、正直に言えばベテランに向けて一回考え直してほしい というメッセージを送るつもりで書いているのだ。 一定以上の上級者は後輩を教育することも仕事としていることが多いはずで、 そういう人には届きやすかろう。

シェルソートのやり方はどこにでも書いてあるが、 どう考えればシェルソートを発明できるかが書いてある本を私は知らないし、 なぜシェルソートなのか、シェルソートはどれくらい速いのか、 といった使い方に関することが書かれた本も少ない。 それこそが一番伝えたいことであって、より高速なクイックソートを扱わないから といって、本のレベルが落ちるわけではない。

ソートに関して言えば、シェルソートがいつでも5分で書ける くらいに身についていれば、 それより速いソートもアイディアだけあればいつでも書けるだろう。 ただ、99%の用途はシェルソートで足りるのであって、 99%の用途を満たすソート手法の中で最もコードが短く動作が単純なのは シェルソートだろう。 なにせ挿入ソートをループにつっこんで、一箇所だけ中をいじるだけだ。 増分なんて適当でいい。 好みや能力次第ではヒープソートやコムソートでも良かろう。 しかし間違ってもクイックソートやマージソートはその場所には来ない。

小川軒のレーズンウィッチを買ってきた。 マルセイバターサンドとよく比べられるが、ひつじこの言う通り別物だ。 マルセイはバターである。あれは何よりもバターを食う菓子だ。 こっちはおいしいレーズンとおいしいビスケットを一緒に食べる菓子である。 日によってどちらをおいしいと思うかは変わるだろう。 しかし、買おうと思うのはマルセイだろうな。 北海道人なので思い入れがあるし、あの暴力的なバターが好きだ。

アマゾンの検索が意味わからん。「アルゴリズムで検索して、 新品で在庫があるものに限って、 価格が安い順に表示する」ということがどうもできないようだ。 明らかに関係ない本が並ぶ上に、そもそも安い順に並んですらいない。

夕方オタマと遊びに行って、一本下駄二日目。 一歩ごとにブレーキがかかるのをどうにかするのはかなり難しい。 しかしそれができて初めて使いこなせていると言える。 まあ100時間くらい履いてみないと何とも言えないな。

2013年09月28日

甲野善紀の本を2冊ほど読んだ。この人すごいな。何年も前から そこそこ有名人だったと思うが、相当根本的な所に最近気づいたことを 素直に告白している。相手の動きに対応して何かする と考えるのをやめて、自分の体を 「こうなるとこうなる」という単純な自動機械にしてしまわないと実戦では 間に合わないんじゃないか、とか。 60過ぎてそこそこ権威になった人が、 自分はまだまだ発展途上で、今やっていることが正しいとは限らないと 言うのはすごいことだと思う。

2013年09月27日

編集さんとお話。一応出荷の感じが売れる本のパターンらしいが、 何せ返品可能なので実売がまともにわかるのはだいぶ先になる。 出版社の倉庫にはまだいくらか残っていて、 それが尽きるまで注文が来れば増刷となるだろう。 来なければ、それまでだ。

出版の状況は厳しいらしく、増刷される本は多くない。 売れないものばかり作っているということだ。 技術書の場合、webで良いコンテンツの種類は増すばかりであり、 昔なら本にしていたものもwebで良いとされるようになっている。 本という形を取ることの意味を考え直さねばならない。

問題は構造的なものだ。売れるものが足りないのは、 売れるものを作る著者が足りないことによる。 ゲームは組織で作るため、個人の能力が不十分でも 専門化と分業によって個人の能力を超えたものを作れる。 だが、本をそのようにして作る方法は確立していないし、 それが可能なほど商売が大きくない。 2000円の本を1万冊売る商売だとすれば、 その10%は200万円だ。これを年に5冊出せるとしても1000万円。 これが許容する人数は2人、せいぜい3人である。 したがって、組織化するためにはもっと売れるものを作れねばならない。 しかし、そもそも売れるものを作るために組織化するのであって、 どちらが先かという問題になる。 それに、そもそも本一冊は分業して作るほど大きなものではなく、 個人の個性を活かす方が向くという事情もある。 そう考えると、組織化のアプローチは筋が良くない。 著者を育てて打率を上げる方向の方がいいだろう。 しかし、そのために何をしているのかは知らない。

ずっと不思議に思っていたことがあった。 前回の本で、ああいう書き方のものが売れるという実例ができた。 だが、あれ以降ああいう本は出ない。聞かない。 「最後に何が作れるようになるのかをはっきりさせる」 「やり方を複数示して、結論だけでなく選択基準も示す」 「次第に物が出来上がっていく物語を提示する」 といった特徴は、このように言葉にしてしまえば 何ということもない。即座に応用できるはずだ。そう難しいとも思えない。 そういう本が出ないのは、つまりそいうやり方がまだ 有効だと思われていないから、という以外に説明がつかない。 1冊が2万やそこら売れた程度では足りないということか。

と、おおよそそんなふうに思っていたわけである。 しかし編集さんと話して、もっと単純な理由であることがわかった。 そういうふうに本を作れば良いものになるということは 皆とっくの昔に気づいていたのだ。 ただ、形にならんのである。

前の本にしても、今回の本にしても、そして次の本もまた、 作る上での重大な欠点がある。手間がかかりすぎるのだ。 まず、文章量が増えることは避けられない。むしろ積極的に 分厚くすることで論理の飛躍を小さくせねばならないし、 技術の本筋から外れた話を多数はさんで飽きさせぬようにせねばならない。 分厚い本を書くことはそれ自体がコストだ。

だが、分厚いだけならまだどうにでもなる。 より問題なのは、構成が並列でなく直列なことだ。 100章あっても、それぞれの章の間に関連がなければ、 独立に進められる。分業してもいい。 だが、私は一つの物語として本を作るので、そうは行かない。 2章は1章に依存する。3章は2章と1章に依存する。 20章は1章から19章までの全てに依存する。 前の章の内容を把握せずに後ろの章を書けば、物語が壊れる。 分業は難しい。 さらに、一人で書くとしても作業量は膨大になる。 前の方の章の修正がそこより後ろ全てに影響を与えかねないからだ。 これが連載ならまだいい。出してしまった前の章を修正することは できないので、これから書く部分に集中できる。それしかない。 それが連載のライブ感である。 だが、一冊の本であれば話が違う。 出版寸前まで書き直しが自由だからだ。 気に入らない部分が見つかれば、それがどこであれ直すだろう。 そしてその影響はそこより後ろ全てに及ぶ。

800ページ超、文章量1.4MBという規模で、 そういう書き直しをやることのコストは半端なものではない。 しかしそれでも、私は躊躇なく書き直してきた。 全体を根本的に書き直した回数は5回では済まない。 テトリス本も700KB超の文章量があり、何度書き直したか知れない。 そしてmalloc本はすでに700KBほど書いたが、 おそらく1MBに迫る量になるだろう。 そして、今まで書いた700KBは一旦捨てることがもう決まっている。 むろん内容は生きるだろうが、文面は書き直す。 横に古いファイルを開きながら、 まっさらなファイルに書いていくことになる。

こんな馬鹿な真似をする奴が私の他にはあまりいない、 ということだろう。本を書くような優秀な人であればあるほど、 「技術書に物語性が必要」 というを認めることからして受け入れ難いのは容易に想像がつく。 それに加えて手間が莫大となれば、これは立派な参入障壁だ。 競争相手が出てくる心配をせずに、私は全力でこの 書き方を続けることができる。似たような題材で、 似たような形の本がいくら出ようとも、気にする必要はない。 私がこの書き方で客をつかめれば、誰が何を書こうと競合はしない。 この認識がもし正しいならば、 これは凄まじい幸運だ。この幸運をどれだけ利用できるかで、 私の人生は大きく変わる。

認識が正しいかどうかは、もう一冊書いたあたりでわかるだろう。 前のは2万は売れた。これでもし今回のも2万とか売れて、 さらに次回のものも万の規模で売れるのであれば、 その仮説はおおよそ証明されたといっていい状態になる。

剛体物理、熱力学、波動を、質点物理から導出していく 本書けないかなあ。読者がプログラミングがわかる、 という前提を置くと、数学も物理も全く違ったストーリー で説明する道が見えてくる。 例えば剛体物理をやるにあたって、多数の質点をばねダンパで接続する シミュレーションを行い、慣性モーメントやトルクの概念を 導出することは原理的には不可能ではない。 問題になるのは処理速度と連立方程式ソルバの実装だけだ。 空気分子を模した質点を箱に閉じこめるシミュレーションから 温度や圧力の関係を導くことだってできるだろう。 理屈を先に出さず、シミュレーション結果を先に見ることから 始める方がすっきりする気がするのだが。

そのうちキャラクター性を盛りこんだ技術書を書きたい。 今の書き方は著者の一人語りであり、言うならば手続き型プログラミング みたいなものだ。しかしここにキャラクターを導入して、 それぞれの立場を明らかにすると、オブジェクト思考プログラミング 的な特徴を帯びてくる。文章量は増えて冗長になるが、 娯楽性は高まるし、うまくやれば説明の質も高まるだろう。 未経験者向けのネタで何かしら実験してみたいものである。 それをさらに押し進めて漫画で技術書をやるアプローチも 試してみたいのだが、コマ割りまではできてもその後は私には無理なので、 これは夢ということにしておく。漫画を描ける人間を巻きこまねばならないからな。 それに、漫画は空間効率が悪すぎるので、 「漫画にすることで説明の質が上がる」というようなことは なかなか考えにくい。「楽しく読める」だけでは私はダメだと思う。 漫画にすることが、漫画にしないことよりも説明の質を高めるような、 そんなネタがなければ意味がない。

標準ライブラリに極力頼らない作りにしたいと思うが、 それに読者は合理性を感じてくれるだろうか。 作ることと使うことのバランスは取るべきだが、 バランスを取った結果には理がない。バランスを取る過程に理はあるが、 結果は「たまたま」だ。そこに納得感はない。 だったら「全部作る」と明言して始める方が、 キャラは立つだろう。 「あれは作るのに、なんでこれは使うの?」と思われること自体を、 できれば防ぎたい。

乱数に頼らずにテストを作れないものかな... とにかく乱数の登場を遅らせたい。 登場させるとしても、すごく適当な乱数でその場しのぎをしておく 方法があれば、まともな説明を後回しにできる。 とりあえずstd::randでやっておいて後でおきかえる、 とするのは簡単だが、範囲と品質の問題があるので、 それに対処する不純なコードが最初から入ってきてしまう。 説明が汚れる。

無理数は循環しない。にも関わらず、規則性のある無理数はありうる。 0.10100100010000....は無理数だ。したがって、無理数の全てが ランダムっぽいわけではない。そもそもルート2がランダムかどうかは ランダムの定義に依存する。

無理数より狭い集合に超越数というものがある。 有理係数の方程式の解にならない無理数、という条件だ。 こういうものならランダムさが増しそうな印象があるが、 そんなことはない。そもそも、0.123456789101112131415...は すでに超越数であることが証明されているらしく、これは全くランダムではない。

辛い時に進みを緩める人間はダメだと、ビジョナリカンパニーの4巻に 書かれていた。そう思う。カゼで、寝不足で、時間が寸断される こんな時でも、変わらない速度で進むべきだ。 それ自体が合理的とは言えなくても、その規律が生きる。

twitterで感想が2件ほど見つかった。 雑誌見てゲームプログラムを打ちこんでいた世代の人にとっては、 それの現代アレンジみたいなものに見えるんだな。 私はその世代は知らんので、結果的に似たような感じになっているだけだと 思うが、考えてみれば自然にそうなる気もする。 機能を制限して、機械の論理的構成を露出させれば、 昔のものに近づくだろう。

私はベーマガを読んでいたことはあるが、 プログラムはさっぱりわからなかったので、その世代の感覚を共有 していない。

あと、「気合ないと読めないだろこんなもん」的な感想もあった。 そこは問題で、まだ解が見つからない。 山に登る例で考えてみればわかるのだが、 登る山の高さと、坂のきつさと、歩く距離の間にはトレードオフがある。 全部を高めることはできない。山を高くして坂をゆるくすれば、距離が伸びる。 山を高くして距離を短くすれば、坂がきつくなる。 坂を緩めて距離を縮めれば、高い山には登れない。 これと別に、不必要に遠回りしないようにルートを決めたり、 道の障害物を丁寧に除いたりすれば3つ全部を高めることができるが、 これは当然やりはするものの、それで全部が解決するわけではない。

山をとにかく低くするという手もあった。 例えばテトリスをやめてオセロにする。幾何学的な問題が 消えるし、リアルタイム性に関する問題も消えるので、 難易度はかなり下がる。AIの問題はあるが、「置ける所を見つけたら置く」 というクソAIで良ければそれほど困難ではない。

あれ?それで良くね?なんでテトリスにしたんだっけ? あー、500ページに収まればそれでいいかと思ったんだなたぶん。 500ページに収まる範囲で、極力達成感があり、次につながるような 題材を選んだらテトリスだったわけだ。 ちと欲張りすぎたのかもしれん。 テトリスは第二巻にして、第一巻はオセロにしておくべきだったのか。 でも題材を検討してた時点ではここまでテトリスが厄介だとは 思わなかったからなあ。テトリスの知名度も利用したかったし。 ある程度書いた時点で「題材これでいいの?」と問い直さなかったのが 敗因ということだろう。まだ失敗と決まったわけではないが。

誰か影響力のある人に気にいってもらう、というのは なるほど重要なことなんだろう。 だが、やりたくねえ。

「malloc自作を通してアルゴリズムを学ぶ」だと、 mallocの運用面に深入りすることの正当性がなくなる。 「malloc自作」だと、ソートや乱数の類を自作することの正当性がなくなる。 標準ライブラリ使えよという話になるからだ。 「malloc自作を通してプログラムの性能について考える」だと、 広くアルゴリズムや運用、性能の定義などの話をやれるが、 今度は漠然としすぎて「つまり何なの?」という話になる。 複合的な題材で本を書くことの困難だな。

伝えたいものはアルゴリズムだとするならば、mallocより良いサンプル があればそれでも良いことになる。 しかし、乱数と検索とソートが根幹にあるような題材って他にあるか? 仮にあっても、mallocほど機能がわかりやすく馴染みがあり応用性が 高くなるとは思えない。 題材なしでアルゴリズムの説明をしてもいいが、 それならセジウィック読んどけよという話になるし、 その場合は本という形を取る必然性が薄い。web記事の方が読みやすかろう。 アニメgifとかも使えるしな。

伝えたいものはmallocの技術か?これは絶対に違う。 mallocである必要はない。ただ今のところこれより都合のいい題材がないだけだ。 伝えたいものはアルゴリズムだけか?これも違う。 なぜそのアルゴリズムを勉強する破目になったのか? 本当にそのアルゴリズムがいいのか? といった、アルゴリズムそのものの説明の前にあるものの方が大切だ。 そうでなければ、アルゴリズムを思いつく過程を辿る必然性が出ない。 だがそれを語るにはアルゴリズムそのものの勉強もせねばならん。 mallocはダシにすぎんが、そうであっても何かしら具体的な題材は必要であり、 malloc以上のものは見付からない。

ある機能を持つモジュールに関して、 その性能をどう定義し、どのように実現し、どのように評価し、 どのように運用の仕方にフィードバックするか、 という大きな所の話をしたいのである。 ただし、その大きな話を実例のないままでするのは無意味だ。 「こうしたら20msで、こうしたら10msになったけど、コード倍だ、どうしよっか?」的な体験は本来個別に積むべきだが、 その体験を積める状態にない人は多いのである。 私は本という形で体験を擬似的に与えたいのだから、 抽象的な話はあくまでも実例の中から自然に浮かび上がってくるように 構成せねばならない。

新ヤマトが大層出来がいい。すごいアレンジだなこれ。 にしても、大きな戦艦が全然大きく見えないのは、 これどうしたらいいんだろう。そりゃ大きいものであっても 遠くから見れば小さいし、大きさなんて相対的なものだ。 だからその意味ではこれで何ら間違っていない。 でもなあ。何か違う気がするんだよなあ。 これ、この位置にカメラを置いてこう撮ったとして、 本当にこう見えるのか?このサイズのものがこういう動きをするのか? ウソであっても納得感があればいいんだが、

正しくすべきところと、派手にウソをつく所のよりわけが上手だ。 「ここは演出上この方がいいから」というのがわかりやすい。 わかりやすすぎる気もするが。

2013年09月25日

「うんちが爆発」というのは文字通りで、ひつじこが顔に食らうくらい飛ぶ。 50cm以上の飛距離。

たまっていた進撃の巨人のアニメを10まで見た。 すごく良く出来ているが、この出来に見合うだけの 物語が見られるといいなあと思う。 「人が巨人になる」にガッカリしない理由付けをするのは 大変だと思うなあ。原作は9までしか読んでいないので、 そのへんはまだ知らないのである。

途中でガッカリするとしてもそこまでが優れていることは 間違いないのだが、私はたぶん途中でガッカリする作品は 好きになれない。エヴァンゲリオンも 途中まではずいぶんとワクワクしたものだが、 途中でガッカリした後はもう何とも思わなくなった。 見てる最中は面白かったはずだが、 その頃のワクワクをもはや思い出せない。 劇場版もあまり面白いと思わんしな。メガネ邪魔じゃね? でも、もちろんのこと映像はいい。

ドラクエ6はムドーを倒すまでやった。 レベル18。考えなしにやるとこのレベルでは相当キツいな。 そして、その先に進んでいるわけだが、転職のことを忘れていた ことに気づいた。 試しに転職してみたら、パラメータが激烈に落ちて かなり辛い状況。これ、一時的に相当不利になるぞ。 だんだん思い出してきた。 ドラクエ6はこの転職システムが好きになれなかったんだよ。 ちなみに、ひつじこは気づかずに無職のまま進んでいる。

急に選択肢が広がり、しかも試すのに戦闘回数という 手間がかかる。それまでとの遊び方のギャップが大きすぎる。 それはそれで探す楽しみがあるのだが、 手間と引き換えとなるとやりにくい。 「とにかく進む」というシンプルな遊び方はそういう 面倒がなく、出てくる敵とどう戦うか、そして、 限りある金で何を買うか、といったところに集中できる。 無職のままでもどうにかクリアできるならいいんだが、 たぶんキツいよなあ。

少し考えただけでも、転職システムを有効活用することで圧倒的に 有利になる戦術が多数出てくる。 まず全員が一旦魔法使いになってメラミを覚えるべきだ。 僧侶のホイミも同様に必要だろう。できればベホイミまで欲しい。 比較的少ない戦闘回数で手に入るスキルは 集中してザコと戦うことで手に入れてしまえば、 その後が圧倒的に楽になる。 そして、さすがに今後の難易度は転職システム前提のはずで、 次第に無職がキツくなることは目に見えている。

何も考えずに行きあたりばったりでやる遊び方は、 言うならば一本道ガンゲーのようなものとして ドラクエをやる遊び方だ。5まではそれでやれた。 3は最初に決めればそれで終わりだし、 5でもたまたま手に入ってしまったモンスターをどうするかだけが問題だった。 計画性はなくてもかまわない。 しかし6は多少なりとも計画性が必要で、この断絶は大きいのではないのか。 極限攻略とか見てると、こういうデータの海でいろいろ 試すのがたまらん人も多いんだろうとは思うが、 私は今は無理だし、ひつじこも無理だろう。

メラミだけは欲しいな...3分で済むし。 でもそういうことをやった瞬間に遊びが 不純になるような感覚もあって、難しい。 私も無職プレイをすべきなのか。

6の転職システムは、最初の転職をした瞬間に 「この先熟練度を上げる作業をこなさないといけない」という ことが見えてしまうのが辛い。盗賊とか踊り子とかの意味がわからない 職業の存在が、それらもそのうちやらないといけないんだろうな ということを想像させて辛い。 また、上級職が避け難い目標として最初から見えているのが辛い。 しかも戦士や魔法使いに転職するとパラメータ的に かなり弱くなるので、 それが言わばリストウェイトのような訓練用の重石であることが 否応なくわかってしまう。 FF3みたいに、無職が基本最弱で、 最初の転職から明らかに有利になる方がいい気がするんだが、 そのへんはたぶん作ってる人もいろいろ葛藤があったんだろうな。

うん、ゴーストトリックやろう。その方が有意義だ。 ゲームに有意義もクソもないんだが。

とりあえずひつじこには転職を試すように勧めておくか。 でないと進めなくなる可能性が高い。 つうか、ひつじこみたいな人間にとっては転職は 難しすぎると思うぞ。指針何もないし。 まず盗賊とか踊り子とかの意味不明な職業が最初から選べるのは 良くないと思うんだよな。あと、 一応の推奨構成が示されないと辛いと思う。 それと、転職が不可欠なのであれば、イベント的に復活ダーマを 必ず通るようにすべきだろう。それとも、無職でもあんまり辛くないんだろうか。

ちょっと調べただけで無職がムチャなのがよくわかった。 「無職プレイ」とか言ってやりこみプレイのネタになっているくらいである。 これはキツいなあ。

malloc本の位置付け、コンセプトをゼロから考え直すことにした。 場合によってはmalloc本でなくなるかもしれない。 500ページほど書いたが、このままではいかん。 誰に売るのかがはっきりしない。 読んでもらえれば身になるだろう、ということは確信しているが、 「遊んでみれば面白いゲーム」がダメなのと同じに、それではダメだ。 さて、読む気になるためには「この本は何だ?」 ということが一言で言えないといけない。 「mallocの本です」は違う。 そう書くなら最新のアルゴリズムを入れないとダメだし、 実用上の細かな性能、運用の問題まで含まないとダメだ。 だが、それを書くには私は適任ではない。 それを書く資格があるのは、研究者レベルの人間だけだ。 私は最新の手法も知らんし、カタギの使い方も知らんからな。ゲームしか知らん。 そのゲームも大規模からは程遠い。

たぶん「mallocを自作する本です」なんだろうな。 「ゼロから自作」を主張するなら、 最終的に出来るものが技術的に最先端である必要はないし、 アホみたいに簡単なやり方から試していく展開にも正当性がある。 あるいは、本当の目的を前面に出して 「アルゴリズムの本です」と言ってしまう方法もあるが、 この場合はキャラが立たない。 アルゴリズムの本なんてなんぼでもあるからな。 それと同じ土俵に乗ると不利だ。 基本私が書く本は、ネタが新しいわけではない。 新しいとすれば組み合わせ方と展開だ。 だから、「こういう本」とは言いにくい。 「説明が優れている」とか「扱う技術が新しい/実用的である」 とか、そういうのが技術書としては良いとされるわけだが、 そこで勝負していない。だから売り文句を作りにくい。 初心者用ならまだ「わかりやすい」を売りにできるが、 中級者以上向けになると「わかりやすい」は売りにならない。 読む人間はわかりやすい本を買おうとは思っていないだろう。 実際にはわかりやすくなければ挫折すると思うが、 買う段ではわかりやすさを重視してはいまい。 会社に何冊かアルゴリズムの本があるのでめくってみたが、 どれもわかりやすいと言うには程遠かった。 どれも相当売れていそうな本である。 だいたい常人はあの本のほとんどの部分は使わんぞ。 最大公約数求めるプログラマなんて10人に1人もいないだろ。 私が初めてそれを書いたのは去年である。何に使ったか忘れたが。

CG本先の方がいいかとも思ったし、 そうするかもしれないが、それはそれで大変だな。

感想出てこないなあ。売れた数もわからない。 本の場合は出荷しても返品されうるからな...

intelの新atomのマザー出るのかな。出るなら待ちたいな。 サーバをそろそろどうにかしたいのだが。

私は「覚える」という言葉を「身につける」とか「学ぶ」よりも 一段下に置いているが、世間一般にはそうではないのかな。 「思考法を覚える」と言うと、なにかパターンを暗記しているような臭いがして イマイチなのだが。体で覚えていないことは使えんよ。 テトリス本に書いたことは、全て頭でなく体で覚えるべきことだ。

実践的な判断は「なんとなく」でなくてはならない。 理由は自覚していないくらいでいい。 それでいて、他人に説明しようとすると合理的な理由がすらすらと出てくる、 というのが理想だ。そうでなければ、プログラミングに手間がかかりすぎる。 プログラミングは細かい判断の連続であり、 それぞれの判断でいちいち言語化された理屈を考えているようでは日が暮れる。 しかしそれでもなお、その適当な選択はおおよそ合理的でなくてはならない。 高い確率で合理的な判断をなんとなくできる、というのが「身についた」状態だ。 テトリス本では選択やトレードオフについて相当にくどい説明をしているが、 私がコードを書く時にそういうことをいちいち考えているわけではない。 とりあえず適当に書いた後で「オレなんでこうやって書いたの?」 と自問するとそういう理屈が出てきた、という話にすぎない。 もちろん初心者が最初からそうであるはずもなく、 最初は頭をゴリゴリ使って合理的な判断を無理矢理せねばならないのだが、 そういう努力をした記憶が私にはない。 結局のところ、プログラミングに向いている人間というのは、 そこの努力が必要ない人間なのだろう。 私はたまたま適性があったのだ。単純に運としか言いようがない。

なんか、売り切れというわけでもなさそう。アマゾンがそうなだけっぽい。 ヨドバシにも普通に積んであるらしいし、ネットで買える店も ちらほらある。急速にダメな気がしてきた。 一言の感想すらないしなあ。「ねえよwww」くらいの感想でも 見つからないよりずっといい。 初版で終わるのか。爆死なのか。

2013年09月22日

テトリス本(プログラムはこうして作られる)、売り切れらしい。 通販サイトの不備だとばかり思っていたが、どうやら本当に売り切れのようだ。 売れるのはありがたいが、足りないのは申しわけない。 しかし、 機会損失などと甘いことを言っていられないくらい出版業界は状況が悪いのだろう。 それに流行り物でなく、売れるのであれば数年は売れるはずのものだ。 1ヶ月2ヶ月遅くなっても大差ない。 当然機会損失は軽視される。そんなことよりも赤が出て会社が傾く方がマズい。 これでも前回よりは初版の部数が多いわけで、それで勘弁してほしい。 何と言っても、これは商売なのである。 私にとってはそうでもないが、出版社にとっては死活問題だ。 こんな本、なんぼ売れるかなんて見込み立たんだろう。

ツイッターで買った人を発見。発売されていることを確認できた。 本当に売り切れなんだな。 うちどれくらいがレビューを書くような類の人に買われたかだよなあ。 もっとも、最終的に届けたいのはレビューなんて書かない類の人なので、 悩ましいところではある。

メガネを買いに行ったのだが、修理できることがわかったので直してもらうことにした。 買う気満々で行ったのに修理できますと言ってくれる メガネドラッグの店員は大したものだと思った。 せっかくなので、仮に作るとしたらいくらになるかを聞いたところ、 同じオプションをつけても前より7000円も安いらしい。 2.2万で固いコーディングと薄いレンズがつく。 zoffやらjinやらが価格破壊を仕掛けたことの影響だろう。 しかし私はとりあえず他で買う気はない。面倒くさい。 店にデータがあるのでいつどんなのをいくらで買ったかも聞けば答えてくれるし。 そういうことに数千円以上多く払ってもいいと思うようになったというのは、 私が大人になったということだろう。 つまり、時間や手間と金の換算レートがそのように変化したということである。

本、もう少し早く出版できればなあ...というのも、もうすぐ評価面談だからだ。 「上半期中に売る」は達成できたが、数が出て評判が良くなければ 印象は良くない。なにせ子育てその他で昼間半分以上会社にいなかったしな。 「こいつ仕事してんのか?」と思われて当然である。 そもそも他部署から移ってきて日が浅いので、 できるだけ力を示しておかないと立場がないのだ。 どうにか面談までに増刷が決まってくれるといいのだが。 その部数が多いとなおうれしい。あとアマゾンのレビュー。 私が今後も本を書き続けられるかどうかがそれで決まる。 もちろん、評価1が並んで初版で終わる覚悟はしておかねばならないし、 そうなってもおかしくない。 今誉めてくれている人は、玄人か、玄人が近くにいる人だけだろう。 授業で教えていたような素人が自発的に買い、ちゃんと勉強するかどうかは 全くわからない。

malloc本は後回しにしてCG本を書く方がいい気が濃厚にしてきた。 まずは、数が出る本か、技術的に力を示せる本を優先すべきな気がする。 malloc本はCG本よりは数が出るだろうが、前の本ほどは出ないだろうし、 技術力を示すほど高度なものを入れる気もない。 それに、すぐ書けるとは言っても、年内発売は無理そうなくらいには時間がかかる。 当初の予定では8月末に第一稿だったわけで、これから全力でやっても 2ヶ月の遅延は確実だ。 CG本は時間制限があるのだから、そっちを優先すべきだろう。 元々は副産物を使う予定があったので優先する気でいたのだが、 それがどうでも良くなったというのもある。

初速は大丈夫そうだが、最初に買うのは対象じゃない玄人な人々だ。 素人に買ってもらうには玄人のお墨付が必要だが、 それがあれば売れるというわけでもないのが恐ろしい。 近くに玄人がいない素人もいれば、 ネットで書評を探すことなく本屋で衝動的に買う素人もいる。 でもまあ、基本は玄人の近くにいる素人からになるんだろう。 生徒が先生に勧められるとか、書評を見るとか、 そういう経路をまずは考えないとどうにもならない。 衝動買いしやすい本にする工夫は私の所では何もしていないからだ。 そして何よりも、この本の内容はこれで大丈夫なのか? ということは未だに不安なままである。 書評が10やそこらは出てこないとどうにもならんなあ。

ところで、この本が未経験者向けなのは間違いなく本気で本音なのだが、 「いやいやプロが読む本じゃありませんよ」と言うのは建前である。 この本の内容ができてないプロはいるぞ。一年目であれば珍しくないだろうし、 5年以上経った人間全員が必ずしも出来ているとも言い難い。 本文中で「プロならこれくらいたやすくできる」的な記述を繰り返しているのは、 プロのハードルを意図的に上げているのだ。一種の皮肉ですらある。 ただし、そういうプロに読んでほしいかと言えば、そうでもない。 プロの多くは、こんなものを読む気にならないだろうし、 読んでも学ぶのは難しかろう。 プロとして数年過せているということは、 これができていなくても構わない仕事の仕方を確立しているということだ。 Sunabaでテトリスが作れなくても仕事ができるという自負があれば、 Sunabaでテトリスを作れないことを問題とは思うまい。 その意味で、プロを中心的な顧客とは考えていない。 まあ、ゲーム会社の場合はそうも言えんはずなので、 3年目研修とかでいきなりSunabaを渡して 「じゃ、これでテトリス作ってね。この場で」とかやると、 相当面白いことになると思うんだがな。 スキルがヤバい奴が一瞬で明らかになる。そして言い訳のしようがない。 Sunabaは教育の手段として作ったが、実際には選別の手段としても 使えるのではないかと思っている。

2013年09月20日

TGS。deep downは綺麗だった。他はまあそれなり。 よく見れば綺麗なんだろうし、実際よく見れば綺麗だったりはするのだが、 「よく見れば」に大した意味はない。 遠目で見て「これPS34どっち?」みたいな疑問が出てくるようではなあ。 「良く見るとジャギがない」「フレームレートが落ちません」 「ここの照り返しが」とか言っても意味ないだろう。 「PS3相当の絵がより楽に出せ、気合の入った人なら もっといい絵も出せる」という程度に考えておけば良いのだろうが、 それは作る側の事情であって、客の知ったことではあるまい。 作り手の技術が足りなくてもそこそこになる、 ということは客にとっても利益なので関係がないわけではないのだが、 それを客に説明することに意味はない。

TGSに来てない会社や、TGSに来てない客がどれだけいるのかと考えると、 このショーの存在意義が良くわからなくなるな。 昔は3ホール中2ホールはぎっしりゲーム会社が詰まっていたはずだが、 今年は1.5ホールあるかどうかだ。隙間も大きい。 学校やら海外ブースやら同人やら物販やらステージやらに 一体どれだけの面積を使ってるんだよ。 もっと都心に近い狭い会場に切りかえたらいいんじゃないか。 遠方から来る人もいるんだし。

ああいうショーでは絵が派手なゲームばかりが目立つ。 絵がショボいが遊んでみると面白いゲームとか、 携帯機とかは根本的に不利だ。 そういうものの広告手段としてはあのショーは全然ダメだろう。 つうか、なんでグリー来てんだろな。 会社の存在を示す以上の意味があるとは思えない。 なんか女の人がステージで踊ってたりして意味わからんし。

時間があまりに余ったので、学校とかも回ってみた。 比較的学問っぽいことをしてたりもするのが面白い。 ところで、そのうち私ん名と顔が知られて、そういう所をうろつくだけで 声かけられるようになったりせんかなあ。せんか。 まあその手の学校のプログラマ志望がほぼ全員私の書いた本を 買っている、みたいな状況を目指そう。 もう少ししたらUnityで作ったことしかないです、 みたいな学生が大半になったりするのかもしれんが。

今回の本は著者近影をつけた。 パワスマ4のエンジンでレンダリングしたCGだけど。

いまさらだがゴーストトリックの3章を終わらせた。よくできてんなあこれ。 だいぶ下手なのでなかなか進まないのだが。

しかしシノンをだっこしながらだとタッチが多いゲームはやりにくい。 そんなこともあり、たまたま入っていたドラクエ6を始めたら、案外面白かった。 高校の時だもんなやったの。完全に忘れてる。 そして、堀井節の面白さを再確認した。 ただ戦闘は現状イマイチ。序盤の敵の個性が薄い気がする。 5種類くらいいるが、「この敵はこう」というのがあんまり見えない。 あと、こんなにヌルかったっけ? たぶんスーファミ版はもっとしんどかったんだろうな。 攻略サイトによると、DS版は金も経験値も多く、 体力は1割か2割小さいらしい。

facebookで厚かましく宣伝してきた。タテフクさんが さらに宣伝してくれた。超ありがたい。 だが、それなのにアマゾンでも楽天でも買えない。 もう発売日なのに、本が届いてないのか? まさか、売り切れたのか?まだ発売日になって1時間しか経ってないぞ。

初版の部数は前回よりちょっと多いくらい。 こんなの秘密にする意味があるとも思えんのだが、 前に数を出したら怒られたので出さない。 とにかく、前と同じくらい売れれば、前と同じように品切れするだろう、 という程度の数だ。 そして増刷には前回と同じくらい時間がかかるだろうし、 一回の増刷の部数も似たようなものだろう。初版部数は超えまい。 甘い予測で多めに刷ったり、早めに刷ったりはしないだろう。 前の本は普通に買えるようになるのに一ヶ月以上かかった。 今回もそうなるくらい売れるのであればうれしいが、 それはそれとして供給が遅れるのは嫌だなあ。

基本出版社は初版で終わる前提で動くようだ。 値段の設定も初版で利益が出るようになっているし、 初版の部数はギリギリまで絞って売れ残りが出にくいようにする。 もちろん、 編集者さん個人がどれくらい売れると思っているかは別問題であり、 実際期待してくださっている。 ただこの業界では、機会損失よりもはるかに売れ残りリスクの方を 重く見るという現実があるのである。 それくらい辛い状況なのだろう。

2013年09月19日

ラデオンは前回初期化時のビューポートが残ってる。 ビューポートを明示的に初期化すれば正しく動くようだ。 intelで動かなかったのは、テクスチャが2羃じゃなかったせいだろう。 2羃に切り上げて一部を使うようにしたので、これで大丈夫ではなかろうか。

クッキーがすごい。2日目で0.28Gcps。

空に変な黄色い丸が貼りついてるぞ?バグか?と思うような満月。 ひつじこと並んで眺めたかったが、今年はそれどころではないな。

早いところでは明日テトリス本が発売されるらしい。 なので今日中に大きなバグはつぶしておかないと。 ラデオンとインテルで動けばたぶん大丈夫だろうと思うんだが。

そのうち、私の日記とひつじこの日記を横に並べて表示できるように したいなあと思っているのだが、余計だろうか。 あと、横に長すぎると読みにくかろうと思って、 試しに最大40字幅にしてみた。問題があればすぐ戻す。 普通に考えて面積を余らせるのはもったいないわけで、 まあたぶんダメだろう。 段組すればよさそうにも思えるが、 縦に長い巻物みたいなものだからそうも行かない。横に何か 表示しておくものでもあればいいんだろうけどな。 いずれjavascriptを満載していろいろやるようになれば いいのかもしれない。まあ今は実験。

40はダメそうだな。60字幅にして様子を見よう。 いろんな機械で見て制限することに意味があるかどうかを見る。

2013年09月17日

パルシステム加入してみた。牛乳を買う。

ラデオンでsunabaと一部のintelが動かない件。 どうも、ピクチャーボックスにGLの描画結果を貼りつける時の 貼りつけ方がおかしい気がするぞ。 まず拡大率が単純におかしい。

起動の流れを見直そう。ダメだこれ。複雑すぎて意味がわからん。 ネットワーク経由でコマンド送るならそっちに統一しないと 意味がわからん。一日ありゃそこそこ動かせるだろ。 今日は帰る。明日だ明日。

2013年09月13日

関数を引数に取れないとダメだな。さらに、中途半端に引数を与えた状態の 関数も引数に取れないとダメだな。関数型言語。 C++のテンプレートが馬鹿馬鹿しくなるくらいの柔軟性がないと 楽に使える状態にならない気がする。作るの大変だなあ。

2013年09月12日

「ビジョナリーカンパニー4自分の意思で偉大になる」。 1時間半しかなかったので若干飛ばし読み気味だが収穫はあった。

つまるところ、当たり前のことばかり書いてある。 建設的に誇大妄想。 頭おかしいんじゃないかと言うレベルに厳しい規律。 実証を積み上げること。 手を多方面に伸ばしつつも、当たりを見つけたら全力で賭けること。 条件が悪い時に怠けず、条件が良い時に調子に乗らないこと。 憲法のようなルールを持つこと。変えられる必要はあるが、変えすぎないこと。 何がいつ起こるかはわからなくても、何かがいつか起こることは確実だ、 という覚悟を持つこと。

全部ドラッカーが言ってることだが、ジムコリンズの良い所は、 ドラッカーより読みやすく、最近の企業の実例が大量に示されていること、 そして出てくるキーワードが素敵なことだ。

致命傷を受けないための周到さを忘れず、 しかし小さな実験は日頃からたくさんして種を撒き、 とは言いつつも自分の形を見失わず、 ここだと思う分野には全力を投入する、と。 これを個人と仕事の両方でやらねばならんわけだ。 ただし、私のように集団仕事から外れた状態にある人間は 個人と仕事を分ける必要がないのでかなり簡単になる。

結局のところ「私の事業は何か」だ。 「人が自分と同じ場所まで来るためのコストを下げる」 が私の事業であり、コードを書こうが普通に仕事をしようが、 全てはこの「事業」に還元されるつもりでいる。 そして、この「事業」を見失わないために、 数個の具体的な行動指針を用意する。 「他人が作ったものの使い方を覚える作業は極力しない」 は憲法第一条みたいなものだ。これに背くと軸がブレる。 一時的に禁を破ることはあるにしても、これを改正したり廃止したりする日は たぶん来ない。

致命傷を受けるとしたら何が起きた時だろうか? 会社がつぶれても、会社をクビになっても、まあそれはそれでどうにかなる。 一番恐ろしいのは私が劣化することだ。

関数型言語を作るのに着手できるのはいつになるかなあ。 あとtexを再発明したい。自分専用に。 pdf吐くところはたぶんタダのライブラリがあるだろ。 それとエディタ作りたい。

パルシステムの営業が来た。視界に入っていなかったし、 即答は嫌いなので一旦帰らせたが、 牛乳や野菜ジュースなど消費量が読みやすく、重いものはいくつかある。 というわけで試してみることにした。 webから資料請求。たぶんあの営業が来るだろう。 あの営業を素通りしてwebから申し込むこともできるだろうが、 不必要に人を不快にさせる危険を冒すこともない。

繊細チンピラの記事。 気をつけよう。やりかねない。戒めねば。

不幸の才能がある人は、自分を不幸にするタイミングを見逃さない。 不幸には不思議な魅力があるので、囚われないように気をつけないといけないのだが、 ひつじこがいてくれるおかげで暗黒面に落ちる危険はだいぶ薄まった。 ありがたいことだ。

2013年09月11日

これが叩かれているのを見て、 私の本も有害図書と呼ばれることは間違いないのだなと思った。 例えば このように叩かれる。 色鮮かに叩かれる光景が想像できる。覚悟しているつもりだったが、こたえるなあ。

技術書を読める人と読めない人がいる。 私は主観的には読める側だと思っている。 しかし、こういった記事から判断すれば、 相当に読めない部類となる。 このギャップはどこから生じるのだろう。 確かに私はゲームコーディングコンプリートを途中で放り出し、 ゲームエンジンアーキテクチャはまだ読む気にならないような人間だ。 gemsなんて目次しか見てない。それもたぶん3巻くらいまでだ。 1巻のクォタニオン補間は何度も読んだが、 結局理屈が腑に落ちなかったので使わなかった。 そんなわけで、gemsで読んだことを使ったことは一度もない。 そう考えると、客観的事実として私は技術書が読めない人間である、 ということになる。

あ、 もうとっくに叩かれてた。 本そのものでなく、以前yahooに勢い余って書きこんだ奴。 この人、本当にプログラミングが好きなんだなあ。 プログラミングが単なる手段でしかなく、情熱を傾ける対象でなくても、 それで給料をもらって生きている、 なんてのはたぶん言語道断なんだろうな。 プログラミングが好きでないプログラマでも給料に見合う程度には 客を喜ばせることができると私は思うのだが。

こういう考えの人はプログラマには割といる気がするのだが、 ちゃんと話をしたことがない。どうにも苦手なので避けてしまうし、 相手も私なんかと話したくなんてないだろうと思ってしまう。 そもそも接触する機会もない。 しかし、そういう人と少人数で長時間話せる機会が欲しい。 この違いが何によって生まれているのかを知りたい。 どういった環境で、どういった仕事、どういった経験をしてきたから そのような考えを持つに至ったのかがわかれば、 それは自分をより深く理解することにつながる。

私、主観的には結構有能なプログラマなんだけどな。 とりあえず給料をもらっても罪悪感がない程度には 物を作れているつもりでいる。 もっとも最近怪しくなってきたのでかなり焦っているのだが。 力を示さないと不安で不安で仕方ない。次の本早く書かなきゃ。 力を示せるとすれば次の次の本で、それまでは不安が続く。 もっとも、私のスキルが一流でないのは間違いないので、 単に恥をさらすだけなのかもしれんが。 五反田さんの講演がまだわからんもんなあ。 あのブルームの半径のグラフどこから来てるんだろう。 自分で計算したのとどうにも違う。まあそれも1年以上前だから、 今やりなおしたら一致するのかもしれんが。

にしても、最初に挙げた叩かれていた記事は、あれを書いた人が 本を書いてくれるなら私は今回書く必要がなかったんじゃないかという気がする。

叩かれる前提で自分の書いたものを読むと、 叩かれる文章がいちいち想像できる。 中二病的とか、有害とか、しっかりつぶしておかないと、とか言われるんだろう。

「勉強しないよりする方が常に正しい」 を私は根本的に認めないぞ。勉強は割に合う範囲でしか正しくないのだ。

叩かれる一方で支持する人も多くて、それゆえにプログラマ度の高い人が 危機感を覚えて叩いているのだということであれば、 私が書いたものには市場性があるということにもなる。 売れればそれだけ叩かれることになるのだが。

もし叩かれてるのを見つけたら、それをきっかけにそういう人と お知り合いになっていろいろ話ができたらいいかもしれんなあ。

オリンピックが決まったことで、東京に投資が行われるようになる。 金は有限なので、未来から借りてくるか、地方から奪い取るかのどちらかが最低必要で、 たぶん両方が行われる。 今までは「均衡ある発展」の呪いに囚われて、 人がいて価値がある場所への投資が不自然に少ない状態だったが、 その歪みは多少なりとも薄まるのだろう。 もちろん、地方はひどいことになる。 地方出身の人達の抵抗次第では未来からの借金の比率が増えるが、 それには都市の住民が反発するので、 やはり地方に全く割を食わせないというわけには行かない。 オリンピックとか正直よくわからんのだが、 少なくともそういう変化のきっかけにはなるだろう。 日本をまとめて見た時には効率が上がるのでプラスだし、 もちろん東京に住む人にとってはプラスだ。 しかし地方に住む人にとってどうかはわからない。 国として経済成長することのおこぼれによるプラスと、 地方から人が抜けて過疎ることのマイナスのどちらが大きいかは やってみないとわからないだろう。 ある地方がどちらになるかはだいたい想像がつくはずだが。

常磐道が死んだことで、常磐道で東京とつながっていた地域は 過疎が加速するのだろうか。それと減速するのだろうか。 新幹線がつながったら過疎が加速したという話はあり、なるほどとおもうが、 逆はどうだろう。

malloc本が手につかん。かつ、前の本のライブラリの2012対応も 会社でやるとおかしくなる予感が濃厚にする。家でやらないとダメだ。 しかし家のPCが遅いのが辛くてやる気が起きない。X240sが俄然欲しくなってくる。 あるいは一時的にX220を奪ってそっちでやるべきか。 というわけで、一度真面目に考えておこうと思っていたことを考える。

入力から出力を生成する、 ということを厳密に守ってプログラミングをやることを考える。 書きこんでいいのは、何もない所だけだ。 入力に使われるメモリは誰かが見ようとする限り永遠に残される。 したがって代入はない。さて、これでテトリスを作ることを考える。 まず、IOをどうするのかということが問題になる。 これは素通りさせる関数を用意するのが一番綺麗だろうなあ。思想から言って。 外部からの入力はかまわないが、出力を出力として扱えるのは プログラムの終了時だけだ。途中の出力は副作用とみなすのがいいんだろう。

さてループが使えない。再帰しかない。再帰を止めるには分岐が必要だ。 分岐は最小限必須となる。あと、出力はサイズに制限があっては面倒なので、 たぶんリストだか辞書だかを返すことになる。

よくわからないな。具体例を書いてみるか。 書式をC風にして四角を書くとする。左上端を(x,y)として、4x4の大きさとする。

四角(x,y){
   線を連続して書く(x,y,0);
}
線を連続して書く(x,y,index){
   線を書く(x,y);
   if(index< 3){
      線を連続して書く(x,y+1,index+1);
   }
}
線を書く(x,y){
   点を連続して書く(x,y,0);
}
点を連続して書く(x,y,index){
   点を書く(x,y);
   if(index< 3){
      点を連続して書く(x+1,y,index+1);
   }
}
点を書く(x,y){
   //何かAPIを叩いて点を書く
}

まあこうだ。なるほど書けなくはない。 現状戻り値を使わないので関数型言語にはまるで見えず、 単にループと代入が殺されたC言語なのだが、まあとりあえずはここからだ。 4個書くのに3以下な分岐が気持ち悪いので、ここは細工がいるだろう。 で、こうやって書いただけで、この言語に欲しい機能が見えてくる。

まず、関数の数が多いのが恐ろしく面倒くさい。 ループを再帰によって行うということは、ループの中身は全て関数化されねばならない ということだ。したがって、関数がCのように事前準備の多い代物であれば 到底実用にならない。まず、最低限ローカルに関数定義ができないといけない。 また、一回しか呼ばないなら名前をつけるのも面倒なので、省略できないといけない。

四角(x,y){
   Function 線(x,y,index){
      Function 点(x,y,index){
         Function(x,y){
            //何かAPIを叩いて点を書く
         }(x,y);
         if(index< 3){
            点(x+1,y,index+1);
         }
      }(x,y,0);
      if(index< 3){
         線(x,y+1,index+1);
      }
   }(x,y,0);
}

関数を表すFunction型なるものがあって、それをコンストラクトできるとした。 コンストラクトと同時に関数を呼んで終えてもいい。 これで劇的に短くなる。ただしここで線や点が再帰関数であるために、 線や点が線や点の中でも使えないと困る。 「外の変数は見える」タイプの言語にするのが自然だ。それが嫌なら、 this(x,y,index)とかできてもいいし、「この変数だけ中で見える」を指定してもいい。 最適化の問題を無視すれば、これがちゃんと動くようにすることは難しくない。

次に、xやらyやらを何度も書くのが面倒くさい。外のものが見えるなら、 中で繰り返す必要はあるまい。というわけで、ごっそり省く。

四角(x,y){
   Function 線(yi){
      Function 点(xi){
         Function(){
            //何かAPIを叩いて点を書く(x+xi,y+yi)
         }();
         if(xi< 3){
            点(xi+1);
         }
      }(0);
      if(yi< 3){
         線(yi+1);
      }
   }(0);
}

やはり「関数が自分を表す方法」が欲しいな。thisとしよう。

四角(x,y){
   Function(yi){
      Function(xi){
         Function(){
            //何かAPIを叩いて点を書く(x+xi,y+yi)
         }();
         if(xi< 3){
            this(xi+1);
         }
      }(0);
      if(yi< 3){
         this(yi+1);
      }
   }(0);
}

名前をつけなくて良くなった。 ここで関数定義の書式を再考しよう。 型、関数名、引数リスト、中身、呼び出し引数リスト。 関数名は省略可能。即座に呼ばないなら呼び出し引数リストもなし。 まず関数定義はしょっちゅうするんだから、Functionなる型名を 書くのは馬鹿馬鹿しい。f一文字でいいだろ。さらに、即座に呼び出す場合に 呼び出しの引数リストが遠くに行きすぎるのも良くない。 美しくないが中身の前に移してしまえ。 そして、{}が邪魔くさいのでpythonっぽくしよう。 ついでにセミコロンも消しちゃえ。あとはifの条件の隣はifの中、というルールも足す。

四角(x,y)
   f(yi)(0)
      f(xi)(0)
         f()()
            //何かAPIを叩いて点を書く(x+xi,y+yi)
         if(xi< 3) this(xi+1)
      if(yi< 3) this(yi+1)

まあ四角を書くことに関してはこんなもんだろう。こんなものに慣れられるか? というのはともかくとして、普通にCで書くのと大差ない量で書ける書式は得られる。 これをどうやってコンパイルして実行するのかはまた別の問題だが。 ともかくここまでで、「外が見える」「関数もオブジェクト」という性質が ないとしんどいことはおおよそわかった。

次に、この関数を使って、x=4,y=0,1,2,3...nに四角を描くコードを考えよう。

f(y)(0)
   四角(4,y)
   if (y<n) this(y+1)

がforループに当たる。ループの度に関数生成してるが、これくらいに記法を整備すると 関数というものがどうしようもなく軽くなっているので、さしたる手間ではない。 まあ慣れるかどうかは知らんが。一応「ループを意図する関数定義です」 ということを表現する記法があれば、実用上の問題はたぶん消せる。 「条件成立なら再帰」より「条件不成立ならreturn」の方がわかりやすいかもな。 つうか、これデバッガで追ってくとコールスタックエグイなあ。 デバッガのUIからして考え直さないと使い物にならんだろう。 コールスタックは何百何千になるわけで、 「つまり今プログラムはどこで何やってる所なの?」 というのを把握するためにコールスタック以外の何かが必要になる。

四角に関してはこんなもんか。あとは部分評価やら遅延評価が自然に欲しくなる 状況がわかれば、それらの使い所や意味が見えてくるんだろう。 ソートとか検索みたいな普通の処理について考えてみればたぶん自然に出てくるに 違いない。さしあたってヒープソートでも書いてみればいいんだろうか。 マージソートやクイックソートと違って、ヒープソートは ぱっと見た感じ関数型言語には辛い代物であるように思えるが、 もし本当にそうなら関数型言語は使い物にならんということになる。 アルゴリズムをえり好みするような言語が実用になるとは思えんわけで、 たぶんそう苦労せず、かつ性能的なオーバーヘッドもさほどなく関数型言語で ヒープソートする方法はあるはずだ。配列じゃなくて木でやらんと 辛いだろうなとは思うが、オーダーは変わらないので木でいい。 元々Cで配列を使うのはメモリの物理的特性に合わせた単なる小細工であって、 意味的には木なのだから。

コンピュータの物理的特性を無視して言うならば、配列は辞書の特別な場合だ。 キーに0,1,2...を入れた辞書が配列である。次の要素へ飛ぶには、 キーを+1してから検索すればいい。また、順序のある集合は 線形リストがあれば事足りる。では線形リストを辞書で表現できるか? これはちょっときつそうだ。キーに番号を入れると挿入に制限が出てくる。 キーが無限精度の有理数なら許されるが、それは無茶だ。 言語が基本型として辞書を提供するのはどうなんだろうと思ったが、 それだけで足りないならイマイチだな。集合は何かしら絶対に必要なので、 最低限にするなら配列だけを提供するのがいいんだろう。 部分配列を容易に作れるのであれば、再帰との相性にも問題はない。 でも線形リストの方がいいのか。 線形リストの要素に線形リストが入れば木は作れるわけで、 木が作れれば辞書が作れ、辞書が作れれば擬似的に配列も作れる。logNだが。 再帰と相性がいいのは線形リストの方だし、サイズの概念がそもそもなく柔軟性に富む。 まあインデクスアクセスが欲しくなるとかなり辛い状態になるわけだが。

関数型言語について語ってる人は結構バラバラな要素について言ってるな。 宣言的な書き方ができるのがいい、バグが出ない、並列化して速い、みたいな。

遅延評価と、副作用がないことは不可分なのか? 遅延評価する言語を作ろうとしたら副作用がないことが要請されてそうなったのか? それとも、副作用がない言語を作っていろいろやってたら 遅延評価が自然に入ってきたのか? その間のどこかなのか?これは作ってみんとわからんなあ。

無限集合を扱うには遅延評価が欲しい。確かにそうだよな。それがなければ どこかで全部回すハメになる。 言語レベルで遅延評価を持ってないと面倒くさすぎるだろう。 遅延評価をやるには、副作用がないと都合がいいんではなかろうか。 副作用はあるよりない方がいろんなことが楽だから、それはありそうな話である。 もしそうであれば、「ループより再帰の方が楽」 とかいうのは本質ではない可能性がある。 実際、reduceやらiterateやらで、 「楽に全部に処理する方法」は用意されているようで、 いちいち再帰を書こうとは思っていないように見える。

「100までの素数全部くれ」を、「整数を全部用意します」 「素数でないのを捨てます」「100より大きいのを捨てます」 「残ったのが欲しいものです」とプログラムに書きたいわけだ。 うまく行けば3要素で書ける。これを実現するためにはどうしたらいいか? という問いが先にあるなこれは。 しかしそれはそれとして、 「副作用が許されない状態でテトリスを楽に作る方法及び、 そのための言語の書式や機能はどんなか」 ということを考えてみることにも意味がある。結局そこが下の支えになる。 そこが確立していないと実用にならない。

関数型言語が嫌なのは、コンピュータのハードウェアから離れすぎていることだ。 メモリの使用量や速度が読めない。しかし、それらがどうでもいい用途は確実にあり、 その比率は増える一方だ。だから、そこを気にしないで頭にとって優しい書き方ができるなら大きな価値がある。

2013年09月10日

「トイレでおしっこしないとプール行けないぞ」と言っていたら、 唐突にトイレでおしっこをし、 「プールいくって、やくそくしたね。もう、トイレ、いかない!」 などと言い放った。まあその後も普通にトイレでしているので 問題はないのだが、実に霊長類らしい行動である。 サルの類は大抵こうやって裏をかいたりダマしたりするのが普通らしいと聞いた。 その中でも一番タチが悪いのが人類なわけだ。

オタマは腿と尻にかゆみ。こりゃパンもどきのせいだろうなあ。 それにひつじこがシノンに独占されたことのストレスと、 脱オムツによるストレスが重なっているように思われる。 どれも時間とともにマシになるだろうから、 とりあえず今週は耐えよう。明日は休みだなこれは。 家で前の本のVS2012対応でもやるか。

シノンは飲む、吐く、泣くの無限ループ。ひつじこの乳の出が良すぎて、 胃に収まらないくらい飲んでしまうらしい。ゲップがどうとかいう次元ではない。 成長して胃がデカくなるのと、学習して手加減するようになるのを待つ他ない。 布団に置くと吐くので抱いていないといけないが、 そのためにオタマが淋しくなってしまう。 私では母親の代わりにはならない。 ひつじこが家にいなければ何ということもないのだが、 いれば当然甘えたくなるのである。

スタイルシートをいじった。背景画像は削った。 あと、本のサポートを自力でやる ことにしたので、それぞれの本のページを作るための準備をした。 あんまり古臭いサイトだと本のために来た人が気持ち悪がるかもしれんしな。 もっとも、本用のページから本体へのリンクは置かない。 エロゲの感想文とか辿れても嫌だろうし。

背景をCSSだけで何かしら埋められないかな。 とりあえず少しだけグラデーションさせておいた。

あとは、日記を読むところをjavascriptで動的に取り出せるようにすれば 今風になるんだろうな。最新2日を取り出すのを今はオフラインでやっているが、 それをjavascriptで動的にやるようにする。 というか、一定読んだら次をプリロードするようにもできる。 今は新しい順にしか並べられないが、逆にするのも自由だ。 さらに、javascriptが動いているなら日記はバイナリでロードして 動的に展開すれば速かろう。 まあ現状画像がほぼない日記なのでその必要もないのだが。

技術的には何ら難しくなく、日記を読むインターフェイスが 飛躍的に改善するわけだが、二つ問題がある。 まず、この日記にそんな価値あるのかよ、ということ。 そして、プログラミングが面倒くさいことだ。 動作テストするのが面倒くさい。 今日もCSSをいじっては即アップロードしてweb上で確認してたからな。 途中のものを見てしまった人が何人かはいたかもしれない。 しかし日記でそれをやるのはマズいわけで、 一旦ローカルでテストせねばならんわけだ。 自分のwebサーバにモノを置いて試すとかいろいろせねばならず、 実に面倒くさい。いい勉強にはなるんだろうが。

2013年09月09日

今日は幼稚園だとばかり思っていたが、幼稚園はなかった。 ひつじこは記憶が曖昧で、私はひつじこが把握してるもんだと思って 書類を確認しなかった。そういうわけで無駄足。 オタマはすっかり「幼稚園行きたいよー」モードだったので、 とりあえずキッズルーム。

なんかボーナス出た。国のために消費せよとの会長からのお達し。 元々使う予定がなかったことに消費せよ、という話だと思うんだが、 さてどうしたものかな。 PCの更新と、WiiUは元々予定に入っていたからな。

オタマ連れて役所。出生届出した。あとその他の申請。 審査で待たされることをさっぱり忘れてて、 近くのスーパーで時間をつぶすことにしたのだが、 オタマがトイレコール。役所の人に「電話が通じる所にいてくださいよ」 と再三念を押されたが、そのトイレが地下で電話が通じない。 そんな時に限ってオタマがなかなかおしっこが出せず、 「出ないなら行こう!」と言って連れ出すも、再び「トイレ行く」。 そして出ない。慌てて役所に戻ったが、やっぱり電話してたらしい。 しかしまあ一応手続き終了。かくしてシノンは行政の知る所となった。

明日は会社の手続き。給料増えるからさっさとやろう。

私は会社が交通費やら家族手当やらを出すことにあまり意味を感じないが、 そういうものを出すことを皆が許容し当然と思う社会なのであれば、 そういうこともありうるのだろうとは思うようになった。 必要とする人が多くもらうのは当然、という価値観は 障害者を支えることの根拠になっているわけで、 「成果を上げた人間がそれだけもらう」だけが正義になるとマズいのである。 それに、私はたくさん成果を出したいと思う一方、 それに見合うだけ給料をもらうのは嫌だと思う人間だ。 もらうより多くあげたい。そうでないと不安になる。 社畜で結構である。ただし、会社以上に広い範囲の利益と会社の利益が 矛盾する場合はより広い範囲を優先する。 仮に本を書くことが会社にとって大した得にならないとしても、 私は社会のために書きたい。 幸いにして上司はそれが会社の利益になると認めてくれているっぽい。 もちろん本を書くのは何より自分のためなのだが。 名を上げねばできないことがたくさんあるのである。

マシン更新するか。KBN-I/2100と2.5HDD2台と、それが入る範囲で可能な限り小さい箱。 問題は、いつ買いに行けるかだ。 生身で買わないと店の人の知識を有効活用できない。 できるだけ問題のない組み合わせにしようと思うと、 そういう店に行くのが一番良く、 値段だけで決めて通販するのはまずいのである。

7mmなら2台入るすごく小さなケース見つけた。 しかし7mmで1TのHDDはすごく高い奴しかない。さすがにきついな。 ディスク1枚1Tの時代はまだ当分来ないのか。 なんかまだ放っておいていい気がしてきた。 最近容量要求厳しくないし、wiki程度ならCPUもまだどうにかなる。 アクセスが相次ぐような状況にはならんよなあ。

今のケースの容積が6.9L。さっき見つけた奴は4L。だいぶ違う。 こっちがいい。今買うなら高くても1TBの奴がいい。 もう1年くらい放っておけるなら750GBのプラッタが出るだろう。

Sunaba公式サイトを作ってみた。CSS3に期待しすぎていたな。 ブラウザ依存の書式なんて使わないぞ。というわけで、 border-radiusとtext-shadowくらいにしておいた。 動かなくても表示がおかしくならないし。

2013年09月07日

デカい箱用意して、そこにたくさん仕掛け作って、 さあどうぞ遊んでください、的な作り方のゲームはたくさん売れる前提でないとキツい と思うんだけどな。作ったコンテンツのうち何割を遊ぶ人が受け取るか、 という率が低くなるので、その分だけたくさん売れないと割に合わない。 映画は全員が作ったものを全部受け取るが(この仮定はちと粗すぎるが)、 ゲームの場合はそうは行かない。 見込める売上本数によってコストが制約され、 コストによって物量が制約され、 物量によってゲームデザインまで制約される。 本来なら小さいものから徐々に育てていって大きなものを作れるようになるべきだが、 事実上不可能だ。途中のものはすでにある大作に負けて収益を 確保できないからである。それは中途半端な大きさの羽を持つ生き物が 生き残れないのと同じである。だからいきなり大作で当てねばならず、 そんな博打をできる所は限られるし、普通に考えてすべきでない。

シノンがいる生活一日目。オタマとのサイズの差がデカすぎて、 人類に見えない。変な小型妖怪がひつじこの乳に吸いついているような印象。 そのうち人に見えるようになるんだろう。 そしてそれに関係なくかわいい。

奥の部屋をシノン部屋としてレイアウト変更。 もろもろモノが溢れているが、順次処理する。

片づけるべき事務作業。ひつじこ口座メンテ代行。出生届。

今からLISPを再発明するとしたらどうするか、 と考えれば関数型言語のことが多少は理解できるのだろう。 LISPはconsとかcarとかcdrとか、そういう用語が気持ち悪く、 私のような人間は拒否反応を起こしてそれ以上学ぶ気が失せる。 しかし、1960年代から存在しているものが 未だに一定以上気合の入った人以外に普及していないという事実から考えて、 関数型言語がまともに普及するとは思えない。 haskellだって1990年だ。20年も経って一部で流行っているという程度では 話にならんだろう。数学発なのもたぶん良くない。 工学的、つまり役に立ってナンボの考えの人間が ゼロから関数型言語を設計したらどうなるのだろうか。

2013年09月06日

昨日の夜オタマが食べたのは、サンマの背中側だけ3匹と、芽キャベツの蒸し。 そしてトマトジュース。

今日は朝からトマトジュースと、パンもどきにチーズとサラミを乗せて焼いたもの。 ピザ的な。しかし、どうやらパンに飽きたらしい。 まあ好都合ではあるのだが。もうちょっと日差しが弱まったら川崎に ピーナツバターを買いに行くか。この気温なら行く気にもなる。 4時出発と仮定すると帰ってくるのが6時過ぎ。 ひつじこのメシが終わるのが6時半くらいなのであれば、その頃行けば良かろ。

コーナンに行ってゴザの下に敷くマットを買ってきた。 前も敷いていたが、牛乳まみれになって捨て、そのままになっていたのだ。 で、一畳分足りなかった。川崎の帰りに追加で買おう。

アニメの英語字幕を見ていると、どれくらい伝わっているんだろうなと思う。 同様に、うちらは向こうの映画をどれくらい理解できているんだろうなと思う。 少なくとも、日本語を英語にした時の情報の落ち方はすさまじい。 キャラ属性が丸々抜け落ちてるが、大丈夫なのか?

11時ごろからキッズルーム。あまり増えすぎない程度に人がいたので、 かなり長居した。1歳の赤ちゃんおよびそのお母さんと遊んだり。

14時半過ぎに誰もいなくなり、幸い気温が低かったので外に出た。 久しぶりにオタマも自転車に乗る。お気に入りの濃いピンクのものは 壊れたのかなくなっていたので、仕方なく16インチ。 ゆっくりだが3周ほどして、少し小さいのに乗り換えてもう1周。 ブレーキを握れるようになっていたのに感動したが、 スピードの遅さが残念。スピードにそもそも興味がないのである。 その後は幼児用の車やら三輪車やらをおもちゃにして過ごし、 4時半ごろ再度コーナンへ。しかしマットは中途半端なサイズしかなく、 買い足すのは断念。帰ってからマットの位置をずらして、 よくいる場所を優先するようにし、それで良しとした。 なお、コーナンでは猫をひたすら見ていた。 犬も見ていたが、近づくと吠えるのがいて、恐れて近づかない。 ガラス越しでも怖いようだ。

17時ごろ。ゆでていた肉、トマトを出しておきつつ、追加で掃除。布団を敷き、 風呂を洗う。肉はさしたる量も食べず、実質トマトで腹一杯になっていた感じだが、 まあ良しとする。まともに料理を作れる余裕がないので食材そのままだが、 仕方なかろう。ゆで肉はかなりおいしくできたと思うんだが、 どうも気分でないらしい。単純に腹が減ってないようだ。 腹が減る前に食わせるのは良くない。

蒲田にカルディがあることがわかったのでピーナツバターを買いに出発。 残念ながら欲しいものはなかった。 東急プラザの一角なので狭く、品揃えは悪い。 ピーナッツしか入ってない奴が欲しいのだが、定番のスキッピーしかない。 ピーナッツの率が9割以上だというポップの言葉を信じて、 とりあえずスキッピーを買った。

そして病院。オタマは妹のことなどどうでもいいらしく、 とにかくひつじこに甘える。超うれしそう。 行く間はとにかく眠くて頭がガクンガクンしていたのだが、 ひつじこの顔を見た瞬間に眠気スッキリである。 そして、やはりウンコをする。病室はトイレじゃないよ。 あと、牛乳400と野菜ジュース200を飲んだ。 ひつじこのなんだけどな。

20時近くになって面会時間が終わるのでお別れ。 別に泣いたりはしない。嫌がりはするが、泣くほどではない。 いとこは別れる時に泣きまくってどうしようもなかったと言うが、 全然違う。そういう差は何によるんだろうな。

帰ってきて、ピーナツバターを盛ったパンもどきを食べさせる。 ここで、塗る、とか言っていてはダメである。盛るべきだ。 パンの栄養なんて知れているのだから、主はピーナツバターである。 カツサンドのカツくらいの厚みでピーナツバターを盛るべきだろう。 薄くスライスしたもの1枚しか食べなかったが、盛ったピーナツバターの 量はそこそこあるので、まあ良し。あとトマトジュースやら牛乳やら。 卵は黄身を一つだけ食べて、「たまごはおいしくないから食べない」 と宣言。食い物を選べる状況にあることがどれだけ幸せかを知らんようだ。 まあ仕方ない。

21時半ごろ、干しっぱなしで忘れていたエアクイーンを取りこみ、 奥の部屋に敷いた。まだ何か臭うな。明日晴れたら干し直そう。 そして、ついでに思い立って、押入からむきだしのブレスエアーを 取り出してエアクイーンに重ねてみようとしたのだが、 なぜお蔵入りになったかをすぐに思い出した。カサカサうるさいのである。 それでしまおうとしたのだが、オタマが興味を示す。 せっかくなので布団の上に敷いた所、うれしそうにダイブ。 「これ、きもちいい!きもちいい!」を連呼しながらゴロゴロ転がる。 繊維と言えるレベルじゃない太さのプラスチックがグッチャグチャに からまったものが厚さ3cmくらいのシートになっているものであり、 何か上に敷かないと肌触りが悪すぎて普通は使いものにならないのだが、 そんなことがどうでもいいくらい涼しいのだ。 なにせ体積の大半が空気で、通気性はこれ以上ないくらいに高い。 暑さをとにかく嫌うオタマが肌触りなど気にするはずもなく、 その上であっさりと寝た。22時。本当、オタマの寝かしつけは楽勝である。

それにしてもブレスエアーの寝心地の良さは半端ないな。 頭や尻に圧力が集中した感じがまったくない。 上にパシーマを1枚敷けば寝心地は完璧だろう。 ただ、何分うるさいのである。このうるささは赤ちゃんがいる状況では致命的だ。 オタマくらい大きくなれば眠りが深いので、 この程度の音は屁でもないんだが。 こうして隣でキーを叩けているくらいだからな。 2年前なら絶対に無理だった。

さて、腹が減ったぞ。病室で余ったアーモンドをアホみたいに食べていたはずだが、 物足りない。ピーナツバターをそのままモリモリ食べてもいいんだが、 それもなあ。ピーナツバターとカカオマスを皿に盛って電子レンジで 暖めたらいい具合に溶けて菓子が出来る気もするな。

さて、明日はついにひつじこが帰ってくる。シノンと一緒に。

にしてもシノンでいいのか...ライフルぶっぱなしてる印象が抜けるのに しばらくかかりそうだ。あれアニメ化するのかなあ。

じゃあシノンで。

google driveにデカイものは置いておいて、 そのリンクだけ貼っておしまいにしようと思ったが、 直接ダウンロードが始まるリンクを得る方法がわからない。 こりゃできないと考えた方が無難だな。

2013年09月05日

朝起きて、雨だったので若干ダラダラ。 パン的なものをスライスしてチーズを乗せて鍋で焼いたもの。 「はるまき」と言いながら巻いて食べる。結構な量。その後は ムーミンごっこ。 ニンニが持っている青い服を奪おうとするスティンキー。 スティンキーは私。

10時、キッズルーム。人が来ないので間が持たず、早々に切り上げ。 帰りにマルエツで買い物。焼き鳥が食べたいというので買ったが、 一口で終わり。仕方ないので食べたが、なるほどまずい。 なんでこんなに甘いんだよ。

遠い幼稚園。焼き鳥がまずかったせいか、キッズルームがつまらなかったせいか、 雨のせいか、とにかく機嫌が悪く、泣いて別れた。 泣くのは仕方ないが吐かないといいなあと思った。

会社。サンプルの使用許諾の文面の確認をしたり、 Sunabaの配布サイトどうしようと考えたりしつつ びっしょびしょになった服を乾かして、また幼稚園へ。 ちょうど晴れた。

素晴らしいことに泣いていなかった。ニッコニコで出迎え。 先生の顔も晴れやかだ。脱問題児である。 毎回泣きながらゲロを吐いていたのだから、 2回連続で吐かずに済んだというのはすごいことなのだ。

おしっこをしているのに申告しなかったらしくオムツがブヨブヨなので、 おむつを換え、シャワーを浴びさせてから病院へ。 本当なら夕方行く気だったが、弟から病院に3時に行くとの知らせがあったので 早めたのだ。一人で行くとは思えないので、親がまだ東京にいて一緒に 行くということだろう。実際そうだった。

病院。1分か2分かだけ、赤ちゃんと対面。眠りが浅くて触ると起こしそうだったので 触ってない。そもそもオタマが外で騒がしいのでそれどころでもなかった。 上の子と赤ちゃんを同室させてはならない掟なのである。 しかし、なんとなく家族が増えた気がした。 というわけで、赤ちゃんをガラスの向こうに置いてきてから オタマと部屋。とかやってるうちに、うちの親と弟も来たので ガラス越しに赤ちゃんを見る。あからさまにヤンキーな感じのお父さんが いたりして、この病院の客層が面白かった。 つうか、高校生かと思うくらい若かった。後で聞いたら23らしい。 23で父親になるのは大変だろうよ。

うちの親と弟が福島方面に去り、オタマはひつじこと会えて大はしゃぎ。 途中1時間くらい授乳に行っていたが、オタマは辛抱強く待っていた。 そんな感じで、18時前まで病院にいた。 さっさと退院してくるといいなあと思うが、そうも行かないし、 こんなに赤ちゃんとべったりしていられるのは入院中くらいだろう。 むろん、退院してからもしばらくは私がオタマを毎日外に連れ出したりはするが、 問題は夜だ。赤ちゃんが2時間置きに泣くような状況で、 オタマは動じずに寝るのか?私は昼間活動できるだけの睡眠時間を確保できるのか? 糖質制限のおかげで多少睡眠が足りなくても活動できるので、 オタマの時よりはマシかもしれんが、 単に眠れないだけでなくオタマをどうにかせねばならない分難易度が高い。 もう考えても仕方ないので、そうなってから考える。

22時前にムーミンを見ながらオタマは寝た。なんでペットボトル持ってんだろこいつ。 21時半くらいまでは腕ターザンごっこ(私の腕にしがみついて揺れる)やら 何やらでハイだったが、そのあたりで寝かせるために「とうちゃん仕事」 と言って相手をしない感じにした。あっさり寝た。まったく容易い。 ここのところのオタマは家にいる限りは ありがたいくらいに物分かりがいいのである。 ひつじこの実家に行ったりして環境が変わるとひどいことになるんだが、 それはそれだけ楽しいということなので仕方ない。 何としても寝たくないのだ。寝てしまって起きた後なんて、 「ねちゃった!ねちゃった!」と言いながら本気で悔やしがる。 私もそれくらいの楽しさを提供できればいいのだろうが、正直身がもたないので 適当に手を抜かざるを得ない。いや無理。

明日は品川まで電車に乗ってピーナツバターを買ってくる、 というのもアリかもなあ。日中自転車で川崎に行くのは苦行すぎる。 夕方は病院と決まっているし、電車なら駅まで歩かせられる。 そういえば川崎のキドキドにでも行こうと前は思っていたが、 あそこまで行くのがすでにして苦行だし、 そこまでしなくてもキッズルームと病院とその他でどうにかなっている。 まあ明日は何もイベントがないので最大の試練かもな。 しかし明日で最後だ。明後日は退院なのである。

今回の本のサンプルコード置き場をそろそろ真面目に考えないといけない。 とりあえずは出版社サイトに置かれるが、 迅速なサポートを可能にするには私が勝手に更新できる場所に置くべきだ。 しかしsannetでもらってる容量はゴミ同然で、10MB量のものを置けない。 自宅サバにしてもいいし実際今はSunabaをそこに置いているが、 これを正式な置き場所にするのは気が引ける。 家族の写真やらが入ってたりもするわけで、 攻撃を受けるようなことがあるとまずい。 そっちの知識は全くないのだ。

マシン増やして外から見えるものと、 家の中だけのものを分離するというのが一つ。 貸しスペースを使うというのが一つ。 jimboみたいなホームページサービスを使うというのが一つ。 sannetを使って、デカい物はgoogle driveに置くというのが一つ。

最後だな...今すぐできて不確定性がないという意味で、他の選択がありえない。 というか、jimboはすでに試した。UIが気に食わないので数分でやめた。 さて、というわけでフォルダ掘ってhtmlを置くわけだが、 あまり見栄えが古臭いと怖がられる可能性がある。 そこそこ今っぽくしておかんとマズいだろう。 数日かつ片手間でできる範囲で何ができるかな。 とりあえずhtml5とcss3で静的なものを書いてどうなるか見るか。 画像は使わん。やり始めるとキリがない。 javascriptを書かんで済む範囲に限定する。

2013年09月04日

朝暗い時間に起こされたが、「まだ夜だよ」と言って無理矢理寝てもらう。 しかし次に起こされたのは7時。早いよ。 オタマの祖父母は朝が早いので、すでに起きていて トマトやらを出してもらって食べた。

昼まで祖父母に遊んでもらう。全力。 私は本関係のメールに対応したり、一緒に遊んだり。 ベッドで飛び跳ねるのがお気に入り。大丈夫か。 買い物に車を出してもらって、チーズ、トマト、 シャケ、アボカド等を買う。

1時過ぎから激しく昼寝。3時半くらいまで起きなかった。 その後、電車で帰る。シャケ食べられなかった。申しわけない。

帰り、糀谷駅で降りると雨が激しく降ってきた。濡れながら帰った。 シャワーを浴びさせて、服を洗濯し、雨が病んだので病院へ出発。 個室になったが、赤ちゃんは隔離なので、私とオタマにとっては何ら変わらない。 もちろんひつじこにとってはずっと一緒にいられるので全然違うわけだが。

で、短時間の外出でもオムツを持っていくべきであることがわかった。 まさか病院でウンコするとはな...ひつじこの 実家で出していたので大丈夫だと思ったのだが。

で帰ってきて、今。牛乳とか飲みながらムーミン。 放っておいていい感じなので楽だが、今日は寝ないだろうな。 なにせ昼寝が長すぎた。

今日食べたもの。トマト、豆腐、ゆで卵、チーズかなりたくさん、 糖質制限パン少し、アボカド、野菜ジュース、牛乳。あと、 ひつじこに持ってったがいらなくなって持って帰ってきたサラミ。 私は基本オタマの食べ残しと、あとひつじこ実家で煮豚。 この煮豚はオタマは食べようとしなかった。

本当この余ったiPod touch 4どうしたもんかな。 結局ひつじこは持ち歩いてどうこうすることがないので、 iPadしか使わなくなってしまった。 しかも壊れたと思ってもう一個買ったせいで二個ある。 何か私が用途を見つけないとな。 wifiがある外出先で、ノートPCが不要だがwebを見たりツイッターを見たりしたい、 という用途だよなつまり。

ないなあ。ひつじこ実家にしても、私の実家にしても、ノートPCを 持っていってしまう。他にwifiが入る外出先が思いつかない。 電池がすごくもつわけでもないしなあ。PCよりはマシだと思うが。

2つのipodを満充電しておいてみた。明日の朝にどれくらい減ってるかを比べる。 あと、試しに片方のiOSを6.1にしておいた。もう片方は4のままで PCにつなぐのが面倒なので放置。

10時45分頃、オタマが寝た。若干泣いて腕枕を要求したが、 そこそこかわしてさほど脱出が困難でないポーズで寝かせることに成功。 寝かすのそんなに難しくないんだよな。私一人であれば。 ひつじこがいるとひつじこに甘えまくるので難易度がはね上がる。 母親が別格ということだろう。 さて、これでもう一人増えたら一体どうなるんだろうな。 オタマが小さい頃の大変さの記憶が蘇えってきた。 今度はできるだけ早く脱だっこねんねしないと体がもたんだろうが、 まあひつじこ次第。

病院のヤンキーっぷりはすごかったな。眉毛完全になかったし、 シャバに出たら原型を留めない顔になるんだろう。 あのままの方がかわいいと思うんだけどな。目の周り真っ黒になってるよりは。 つうか、禁煙外来行けよ...でもたぶん旦那の協力も必要なはずで、 そっちがダメだと絶望的だろうな。そしてたぶんダメだろう。

もらってきた甘納豆がうまい。結局全部食べてしまった。 今は睡眠時間が確保できるので害は少なかろう。 明日入稿されるみたいだし、今回の本に関してできることはもうない。 つうか、今チェックして間違い見つけたら正直辛い。 まあ正誤表に書いたり、増刷された時に修正したりするので無駄にはならないのだが、 根本的に受け入れられるのかわからないドッキドキの時期 にそんな未来のことまで考えて行動できない。 今はとにかくオタマと過ごそう。 オタマが寝たらレイトレするかとか思ってたが、 コードなんて見る気にすらならない。

2013年09月03日

朝オタマに起こされ、まず掃除。 キッズルームに行って、感じのいい親子と激しく遊んでいたが、 幼稚園の時間を間違えていた。12時からなのはもう一個の方だよ! 1時間遅れてもう終わっていたが教材だけもらってきた。マジすまん。

あまりに暑いので午後は外に出ずその教材で遊んだりしつつ、 3時前にひつじこから食料のリクエストを受けて買い物しつつ病院へ。 オタマは相変わらず、妹にはあまり興味がない。 つうかガラス越しでは仕方ないわな。 他にも赤ちゃんがいるので「どれだよ!」って感じだろうし。 私にしても正直家族が増えた実感が湧かない。 しかし感染症を恐れての措置だけに合理的ではあるし、 実際あの病院の周辺はいわゆるドキュンな人達が多いので、 厳しめになるのもやむを得んのだろう。 今日もすごい格好をしたのを何人か見た。

5時前に私の両親が来た。福島から車で。 無人になっている田端の祖母の家に泊まるというので、 乗せてもらって一緒に田端まで行き、そこから松戸のひつじこの実家に 行って泊まることにした。ちとしんどいが、木曜は幼稚園なので、 水曜から泊まりに行くと時間の猶予がなさすぎる。 一回は泊まりに行こうと思っていたので、行ってしまうことにした。 電車だと間が持たないし、たまには車に乗るのもいいだろう。 オタマはうちの親と接してる時間はただでも少ないしな。

急いでシャワーを浴びさせ、服を洗濯機に放りこんで家を出た。 渋滞気味で遅くなったが、18時半かそこらに田端着。 たまたまおばさん(父の姉)がいて、 いろいろ話したりしていたので、出発が19時15分。 私の父方面の親戚にはほとんどオタマ見せてないからなあ。 新京成線遅いなあと思いながら、20時10分ごろ義父に迎えに来てもらって ひつじこ実家。

22時くらいまで激しく遊んでもらっていたが、だんだん眠くなってきたのか いろいろおかしくなってきて、はみがきをきっかけに号泣。 もうちょっと早く寝にかかろうとは思ったが、 なにせハイだったからな。ありゃ無理だ。 オタマにとってじいじとばあばはスペシャルなのである。

二階に上がるも号泣。だっこをせがむ。 起きたままだっこで寝かせることは可能だが、 その後の脱出が不可能になるので、寝てだっこ。 一度は寝かせたが、脱出に失敗。 腕枕をされていると脱出が困難であることを確認。 必死で腕枕させようとするのをひたすら拒否、 ついにもう少し脱出しやすいポーズで寝た。 慎重を期して10分ほど経って寝息が安定したのを確認してから、 徐々に体に乗っている手や足を外す作業。 20分ほどかけて脱出成功。 そして日記を書いている。

今日のオタマは卵3個と豚肉をそこそこ食べたので、蛋白質的には まあ良しとしよう。そもそもこの状況で万全というわけには行かない。

題名を決めるのは出版社で、こっちの作業終了後に変わったりする。 値段も同様。結果が妥協できる範囲にあれば、 まあいいだろということになる。手続きの正当性よりも結果が重要、 というのは一つの合理性ではあるし。 というわけで、今回は寸前に「副題変えました」という知らせが来た。 まあ、どっかで売れた本に似た名前つけるようなマネをされなければいい。 他の会社が出す本見てるとひどいからな。ラノベや新書は露骨だが、 技術書でも結構みかける。かえって印象悪いと思うんだけどなあ。 そもそも高めの技術書を名前で買う奴はおらんだろ。

1800円。「消費税増税後にも税込み2000円」の死守ラインは守られた。 人によっては高いと思うだろうけど。

2013年09月02日

朝オタマ食事、丸いパンもどき1個、牛乳と野菜ジュース。 幼稚園の日なので、終わるまで求めがない限り食べさせない。 幼稚園で感情が昂ると吐くからな。 卵8個を70度にセット。

行動予定。10時になったらUSBケーブルを買ってキッズルーム。 11時半までに帰ってくる。卵を取り出し。必要に応じてシャワー。 11時55分幼稚園へ出発。 その後会社行って忘れ物を取ってくる。何かあれば処理。 1時55分、迎えに行く。4時か5時か、病院へ行く。帰ってきたら風呂。洗濯。 今日食べねばならない食材は豆腐、青梗菜、豚肉切り落とし。味噌汁だな。

オタマ風邪っぽいな。動かない。アンパンマンの仲間紹介を見ている。

ひつじこの言う「いつもと違う臭い」は私が脇の臭いとして認識している臭いで、 普通なのだがな。

赤ちゃんの名前はすでに決まっているので、ここでの呼び名を決めねばならん。 シノンとかにすっか?明らかにラノベだが。 さてオタマは何時に寝るかな。うんこはしたので一安心ではあるが。

3165gらしく、オタマが産まれた時よりだいぶ小さい。 腹にいた期間は今回の方が長かったはずなのだが。 糖質制限は胎児の成長が遅い、ということがないとは言えないかもしれないな。 しかし、すでにオタマがいてゴロゴロしていられないことの影響も 大きいかもしれないし、結局サンプル数1では何もわからんということになる。

遠い幼稚園。全く泣かなかった。 周りの子が号泣状態だったのが良かったかもしれない。 冷めてしまうのかもな。

豆腐やら、スーパーのレバーカツやら、カキフライやら、 ピスタチオやら牛乳やらトマトやら温泉卵をそれなりに食べたので、まあ良し。 とりわけ温泉卵を2個食べたのがいい。これと牛乳で必要な蛋白質は取れている。 明日は味噌汁を作ろう。 古いレタスとチンゲンサイ、豚肉、鮭、といったあたりか。

ひつじこに会いに行ったが、すぐに退屈して帰ってきた。 赤ちゃんも比較的どうでもいいらしい。まあこいつからすればどうでもいいわな。 それにしても、面会に行くと母親から離れたがらずに泣く、 なんて話を聞くが、こいつは全く平気だ。 帰ってから何度か「かあちゃんは?」とか聞いたが、 「病院」と答えればそれで終わりだった。 普通にムーミンを見ながら寝た。

夜は22時ごろ寝た。案外楽に寝てくれた。 とにかく昼寝を阻止することだ。そうすればそう長く起きてはいられない。

明日は気温が低いようなら川崎のカルディまで行ってピーナツバターを買いたいが、 どうだろうなあ。うちの両親が来るっぽいが、例によって時間が読めないので そのへんも難しい。でもピーナツバターは欲しいんだよ。 そのへんでは砂糖なしのものは買えないのだ。

どうやらこれで脱稿となるようだ。会社チェックで何かすごい問題が 出ない限りはだが、法務を通れば、あとは知財と広報で、 いずれにしても問題はなかろう。

レイトレが面白くて仕方ない。てきとうな実装でどれくらい出るのかを 確認しておかねば。あと何倍速くなれば実用になるのかを感覚として 知っておかないと。何年後に再検討すべきかがわかる。 つうか、今でも用途によっては使える気がするんだがな。

2013年09月01日

屈折率が複素数ってどういうことだ? 分子が真空の光の速さで、分母が物の中の光の速さだよな。 物の方が邪魔されて遅くなるから、これは1以上。 で、複素数ってことは、分子か分母に虚数がいるはずで、 これは物の中の方だろう。 何それどういうこと? 何か便利だからそういう言い方をしているだけで、 それがどういうことかはあまり問題ではないんだろうが。

9月2日、21時45分。ひつじこ病院へ出発。 何もできないので祈る。 そして、体力温存のために私も寝る。


もどる