Zinnia hacks tomorrow. (2011/5)

2011/05/01 (Sun)

_ もう5月か。なんか風が強かったり肌寒かったりおかしな感じだ。

_ そしてカゼをひいたらしい。喉が痛いのと鼻水。


= librettoU100いじり

_ もはや5年以上の前のマシンだがUbuntuで使ってる分にはさほどの重さを感じない。 今となってはLinuxだからといって特段軽いということはないものと思っていたけど、 Windowsで使ってた頃の動作と比べると、いたるところで軽さを感じる。

_ さすがにUnityは動かないらしい。でもUnityの操作感は捨てがたいので unity-2dを入れてみた。これで十分だと思った。 Unity keyboard/mouse shortcutsでショートカットキーを勉強する。 SuperというのはWindowsキーのようだ。


2011/05/02 (Mon)

_ 資源ごみの日。


= 今日のCOBOL

_ つづき。コードは300行になった。各種マスタファイルをlookupして 口座振替データを作るところまで。

_ OCCURSは気持悪いが領域の計画が事前に立てられるというのは悪いことでも ないのかもしれない。そして過去のやりとりで覚えていた不思議な質問の 動機がよくわかった。最大件数をしきりに気にするとか、CSVだと言っているのに レコード長を教えろとか。

_ あと、やたらとCD(Code)、NM(Name)、KBN(区分)といった 不思議な短縮名を使う理由も身に染みて理解した。名前がぶつからないように いろいろ修飾しなければいけないので、放っておくとシンボル名がどんどん長く なってしまうのね。そして1行72カラムまでしか書けないという制限を考えると、 シンボルを短くするという圧力が強くなるのも無理はないかなと思う。 インデントもあんまり深くしてしまうとコードがまともに書けない。 (インデントをあきらめるか、変数名をどうにかするか、どちらかを選べと言われると、 後者を選んでしまう)

_ 領域を事前に決めるというのは↑で書いたように悪いことばかりでもないが、 後から変えるのは大変だろうな、とも思った。 ソースのどこを追えば全部修正したことになるのか、と考えると、 2000年問題時の苦労が偲ばれるものがある。桁が足りないところに転記しても 黙って成功してしまうし。あと、コードをそのままに並列化といったようなことは 絶望的だろう。

_ 事務系に強いというのも、以前から繰返し書いているように 多くの制限や前提を受け入れた上で成り立つものだと思う。そしてそれは システムを実現する上でそんなに居心地の悪いものでもないのかな、と思う (もちろん万能というわけではない)。 金融業界のDSL(Domain Specific Language)だ、というような主張を 見掛けたことがあるが、たしかにそんな気がする。 ↑で書いたようなプログラムなら、書き始めて2日の人間でもあまり 澱みなく書けたし、コンパイルが通った後にはほとんどデバッグなしで 期待通りの動きをした。 (グローバルな領域を使う関係で、lookupに失敗したときに1つ前のを使ってしまった、 というようなミスは起きがちなので気をつける必要がある)

_ ただ、プログラミング環境としては御世辞にも快適とは言いがたいものがある。 COBOLを通して得た習慣は受け入れがたいものがあるし、 COBOLしか触ったことがない人は可哀想だな、と今でも思う。 いくらCOBOLで事務系の処理を構築するのが楽だったとしても、 プログラミング環境としての煩雑さで相殺されている気がする。 これで仕事したいとは思えないし、自分で作るソフトでCOBOLを使うというのは ちょっと考えられない。 ただ、触りもしないで毛嫌いするほど悪いものでもない、というのは 使う前から抱いていた予想で、実際その通りだった。

_ その他気になる点。WRITEで出力先の指定がない?条件に従って 複数ファイルに出力するといったタスクは素直に書けないのかしら?あと、 ファイルの読み込みが遅かった。3万レコードを読むのに1秒以上かかったり (1レコード24バイト)。COPY文でINCLUDEっぽいことができるのね。 これで同じレコード定義をあちこちでしなくて済むようだ。そしてCOMPUTE文の 存在にさっき気付いた。SETとMOVEの違いがいまいちわからないな。

_ 今後の予定。とりあえずお勉強は見通しがついたので、 本来の作業の方に着手してゆこうと思う。壁にぶつかったらまたお勉強の続きかな?


2011/05/05 (Thu)

_ 停電対応のため出社。カゼはほとんど問題なくなっているが 妻にうつしてしまったらしい。


= librettoU100いじり

_ Willcom 03でダイヤルアップしてみる。

_ gnome-ppp というやつが、wvdialというやつを経由してpppdをいじってくれるらしい。 あちこちのサイトを参考にやってみた。 要点は下記の通り:

_ ともあれ、つながるようになったみたいなので、出先でも安心だ。 あとは接続されたらmodprobe〜 を実行するようにできるとなおよい。

_ 参考サイト:

_ Erlang、Emacs、SDLなども入れた。SDLはconfigureは通るのに コンパイルエラーが出たり、入ったけどGLが使えなかったりで 2度コンパイルしなおした。最終的にはきちんとGLまで使えるようになった。 testspriteは128fps、testglは52fps。決して早くはないがそんなに悪くもない。


_ そういえばFreeMindのことを忘れていた。ibus-skk入れたんだが日本語入力が できない。ibus-anthyを入れてみたがこれでもだめだ。 10.04あたりを入れたときはibus-anthyで入力できていたんだが... 日本語Remixパッケージだったので、うまいことやってくれていたのかな。

_ 追求したいところだがあと10分で停電になってしまうので中断。

_ ...

_ 停電おわた。言語の設定でinput methodのところが空になっていた。 ibusを指定したらFreeMindでも日本語入力ができるようになった。 以前のバージョンだとノードの編集から抜けるたびにモードが戻ってしまって その都度SKKを有効にしなければいけなかったのだが、 「Share the same input method among all applications」という設定のおかげで その必要もなくなり極めて快適だ。(デスクトップのロック解除時もSKKが 有効になっているような気もするが...)

_ Suspendの他にHybernateも選べるようなのでやってみた。しっかり寝てくれたのですごい。


_ アダルトサイトのお誘いメールがまた頻繁に来るようになった。迷惑メール業者を 原子炉に入れると効率よく減速できるといった新説を誰か提唱してそして実用化して もらえないだろうかと思う。今の政府なら国民感情に照合がつけばなんでも 実行してくれそうだしな


= モテる女子力を磨くための4つの心得「オムライスを食べられない女をアピールせよ」等:BIGLOBE Kirei Style ニュース

_ 先日の話の続きのような、そうでもないような、 正気を疑いたくなるような、 こういうので多少なりとも金銭が移動しているであろうということについて 書いたり載っけたりしている人達はどういう気持なんだろうと悩んでしまう 内容だなあと思いつつ、 同時に思い出したのは「ポロポロモリモリじゃガハハハハ」だった。 問題は、表題の件の方は本気なら恐いしネタならまったく笑えないということだが...


= ゆっくり実況

_ ゆっくりだからいいのか、もともと質が高いのかよくわからないくらい 自分にとって外れが少ないゆっくり実況プレイ。


2011/05/06 (Fri)

_ カゼは直りきるところまでなかなか到達しない。そして頭痛。


= Firefox4

_ 入れるのしんどいなーと思い放置していたがついにupdateのときにおすすめ されるようになったので入れることにした。Ubuntu 11.04を入れたときに Firefox4のベータが入っていて、普段使ってるFireGesturesとか ツリー型タブとかが普通に使えたので、これなら移行していいかなと 思ったということもある。

_ ステータスバーがない、というか必要なときだけ浮かんでくるのが 最近の流行なのかしら?Chromeもそうだった気がする。 表示領域が増えたことは喜ばしいはずなのに、 なんとなくページが画面の下端まで表示されていることに不安を覚える。 奈落に落ちる感じがする?なんかObjective Cのカッコは優しい(意訳)と 言っているのと大差ない感じがむしろ不安だが、ともあれこういうのはすぐに 慣れるからなあ

_ タブブラウジングがいろいろ変わったそうなんだけど、上記の通り ツリー型タブを使っているのであまり関係がない。とはいえ、タブグループとか、 ピン留めとかは使いたい。ツリー型タブからも「タブをピン留め」が選べたので やってみたら戻せなくなってしまった。


= zpool scrub

_ 先日の続き。 scrubを定期的に実行しようということにした。使ってる領域のサイズに比例した 時間がかかるので、溜まってゆけばどんどん遅くなることになる。 90MB/sくらいでscrubできてるみたいなので、今の利用量だと1時間半くらいで 終わる計算だ。週1回くらい仕掛けてもいいかな。



= 今日のCOBOL

_ SEARCHとREDEFINESを学んだ。冗長だった部分がこれで少し綺麗になる。

_ 定義を後から変えると大変だろうな...という話だが、 静的コード分析でほとんどなんとかなりそうな気もしてきた。 とあるファイルのこの項目と、別のファイルのこの項目が実は連動してました、 というような話もある程度追跡できるだろう。ソースが全部目の前にあるのが 前提だし、言うほど簡単ではないのかもしれないが。

_ さて、COBOLをあれこれしなければいけないので、パーサジェネレータについて調査。


= GPPG

_ C#のコードを生成してくれるパーサジェネレータ。レキサのGPLEXというのもある。 入力はYACC/BISON-kike ということで、testfilesにあるファイルの拡張子も .y と .lex だし、yylex などといった懐しい名前も同じ。

_ YACCはずっと昔にいじった記憶があるがまったく覚えてない。 記録をあたってみると1998年らしい。


= ANTLR

_ target languageにC#も入っている。


= Free Grammars for Programming Languages

_ COBOL文法へのリンクがあった。


_ ...あまり読まないようにしていた20世紀の記録を見て記述の痛さにダメージを 受けた。記録自体は1993年からあって、当時は高校生だった。 ちょっと眺めてみたら破壊力が強すぎて眩暈がしてきた。しかし1993年というと 18年前なので、人生の半分の記録が残っているというのは考えてみればすごいこと なのかもしれない。そして以前も書いたように思うがその前の1年くらいはノートに 手書きだった。あまりにも禍禍しいので燃やして捨てた。


= BNFとyacc

_ yaccはほとんどBNFだけど、 ↑でも挙げたCOBOL文法みたいに、 文法の定義ではEBNFが使われることが多い。 EBNF→yaccの文法は、機械的に置き換えることができる。けど、とてもめんどくさい。


= NParsec Tutorial

_ HaskellのParsecのようなパーサコンビネータの.NET版らしい。 パーサジェネレータとパーサコンビネータの違いを知らなかった。

_ ざっと眺めた限りでは、やはりParsecに比べると冗長で読みづらい 印象を受けるな。でもHaskellは結局のところ読めないし書けないという問題が。 F#向けのFParsecというのもあるが、 OCamlはそれはそれで読めないし書けないという問題がある。


_ いろいろ調べているが、Regexと配列とハッシュをあれこれ駆使して 自前で解析してもそれまでかなという方向にどうしても魅かれてしまう。 COBOLの字句解析はそれほど面倒ではないし、 トランスレータを作るということであれば、構文解析もほどほどだし...

_ やってみると意外と大変、というのも目に見えているのだが... パーサジェネレータがあれば著しく簡単になるのかというと、 必ずしもそうでもない気がする。


= Clean

_ パーサコンビネータで検索してたら見つけた。関数型言語。 検索しづらいが「Concurrent Clean」で検索するといいようだ。 Concurrentというのがどういったものなのか興味があるが、ざっと見ただけでは よくわからなかった。


2011/05/09 (Mon)

_ サン(キャバリア)の具合が昨日からちょっとおかしい。 昨日の昼から安静時にもハァハァいいだして、気温も高かったので この子は暑がりなのか?と思っていたが、夕方→夜になっても まだ口で息をしており、さらに寝ているときにちょっと苦しそうだった。 おかしいのは呼吸だけで、ごはんも水もきちんととるし、出るものはきちんと 出ているし、人の後をおっかける様子はいつもと変わらない。

_ バスで病院へ。肺や心臓の異常が心配されたが、検査した結果はどちらも 異常なし→様子見となった。サンは乗り物があまり得意ではないので 移動自体も結構ストレスなはずだが、帰りは慣れたらしくリラックスしていた。 行きのバスの中でうんこの匂いがしてきたので、やってしまったかと身を固くして 移動を続けたが、目的地について確認したら何もなかった。おならだったようだ。


_ 金曜の夜と、昨日の夜に味源行った。 うまかった。おやじさんの感じもよくてとてもよい店だと思った。 ご飯食べに行くのもいいが、ここでだらだら飲んだら気持いいだろうなあとも 思った。

_ 昨日の昼に別の中華料理屋に行ったがそちらは失敗だった。なんか水が臭かった。 塩素の匂いでも油の匂いでもなく、でもなんか獣臭さを感じる。飲み水だけかと 思ったらラーメンのスープからも同じ匂いがして、メンマで止めを刺された。 店員さんはとても感じがよかったのだが、全部食べきることはできなかった。


_ サンはすっかり元気になったらしい。結局原因はよくわからんが。

_ サンは本当に優しくていい子だ。鈴(チワワ)をいじめることもなくなった。 出掛けるときも自分で寝やすい場所を探しておとなしく寝ているし (ベッドに登ったり)、留守中のトイレもきちんとシートの上でしてくれる。 夜もベッドの上でおむつなしで寝られるし、 おしっこしたければ降りたがるのでまったく問題ない。出掛けるときに 廊下に閉じこめて廊下+壁をうんこまみれにしたり、 リビングに布団敷いて、ちゃぶ台につないだサンと一緒に寝ていた頃からは 想像もつかないほどおとなしくてしっかり者になっている。

_ 鈴もトイレはきちんとできるようになったが、どうしても興奮すると その場でしてしまう傾向があるようだ。ベッドの上とか。サンともわりと うまくやっているようで、鈴だけにするとかなり動揺しているが、サンと一緒の 留守番だとほとんど問題ない。たまにサンにつっかかったりしている様子も かわいい(サンはまったく相手にしない)。

_ 犬というものは〜 などと、まだ3匹しか預かっていないのに言うのもどうかと思うが、 それでもやはり犬は根本的に人とうまく暮らすことができる性質を 持っているのかなあ?と思えてくる。人を恐れたり憎んだりというところから スタートしているわけではないものの、劣悪な環境に置かれ、もう少しで 処分されかかっていた子たちが、それでもこんなによい子なので、 そんなことを考えてしまった。 一緒にいれば幸せなだけでなく、日々を重ねるにつれその関係が どんどん素晴しいものへと成長してゆくように感じる。


2011/05/10 (Tue)

_ サンは元気。夜はまたハァハァしだしたが、単に暑いのかもしれない。 ベッドから飛び降りたので、一緒にリビングで寝た。通路とかは 冷たいし、トイレや水も自由にできる環境だとわりとおとなしく寝てくれた。 食べ物にほとんど口をつけなかったのでちょっと心配になったが、 手から少しずつ食べさせたら食欲が回復したらしく、その後は自分から 全部食べてくれた。


= 知的好奇心

_ 伝統的な心理学ではやる気を出すためには報酬と罰が必要で、 つまり人は本質的に怠惰であり、自らすすんで行動を起こすことはない。 自らすすんで行動を起こしているように見えるものは、何らかの 報酬や罰がその裏にあるのだ。...というようなことになっている。 本書は、知的好奇心というものが動物には備わっているのだ、という立場で伝統的な 心理学に批判的な態度をとっている。

_ 退屈は我慢できない、とか、情報は未加工であるがままであって ほしいといった欲求は実感としてあるね。


= 誰も教えてくれない人を動かす文章術

_ 自覚はしていなかったが、この本の著者(斎藤孝氏)に私は反感を持っているのだと 気付いた。別に初めて読んだ著書ではないのだが...

_ 何のために書くのか?→人を動かすために書くのだ、というのは、 受け入れることはできるが、その手法、つまりこうすれば人の心は動くのだ、 といった「文章術」のあたりは受け入れられないものの方が多かった。 〜だから、〜と書けば〜となるのです、という流れが現実離れして感じられる。 この手の表現が受け入れられるようになるには、その書き手が持っている バックグラウンドに共感するとか、底知れないものを感じるといった感情が 必要だと思っており、本文中(またはそれ以外の場面でもいいけど)でそれが説得力の ある形で示されていなければついてゆけないと思っている。

_ この本にそれを感じることはできなかったし、 共感もなかったので、つまり冒頭に書いたように自分が積極的に嫌っているのか、 さもなければ出鱈目を書いているということになる。まあ、前者なのだろうけど。 自分にとっては、先日の記事を読んだときと 似たような感覚だ。さすがに同レベルと言ってしまうと失礼だけど、 受けた印象の方向性は似ている。

_ 受けいれることができない→だからお前は「人を動かす文章」が書けないのだという 展開に容易に持ってゆくことができるし(註: 著者がそう書いているわけではないし、 そういうつもりで書いているわけでもないと思う)、 そういう理解や感情の後始末は完全に読み手である自分の中の問題なので、 なんともやるせない。


_ 鈴はかなり長く散歩するようになった。来てすぐの頃はほとんど歩かず、 おしっこ!うんこ!おしっこ!帰る! といった感じで朝の散歩も楽だったのだが、 最近はかなり歩かないとうんこしてくれない。そのくせ、すぐに抱っこを せがんだりで、歩きたいのかそうでもないのかよくわからない。 一方、サンはあいかわらず自宅の近所だけで満足らしい。たまに時間があるときに 1ブロック分余計にまわったりもするけど、不思議な歩きかたで黙々と 歩いているかと思ったら、すれちがう自転車を追いかけたりと落着かない。


= 魔術はささやく

_ 日本推理サスペンス大賞受賞作。 この賞のことは、当時読んでいた「オール讀物」で知っていた。 募集のページがあって、賞金が1000万とかだったように思う。その後も読み続けて、 本作が受賞したことも知っている。なんでオール讀物を読んでいたのかというと、 確か「ロードス島戦記」が単行本になる前に ここに連載されていたとか、そんな理由だったように思う。 ただ、このあたりの記憶はすべて曖昧だ。 ロードス島戦記が文春の文学雑誌に出ていたというのも怪しいし...

_ ふーん、推理小説で賞があるのか。1000万円....(不思議な間) という感想を 抱いていたので印象に残っている。その後1行だって小説を書こうとはしなかったけど。 いつか読みたいと思っていたがなかなか手が出せずにいたところ、妻が借りてきたので 読んでみた。

_ メインのストーリーの方は、驚きは少ないのに強引さが残る感じの流れで あまり感銘を受けなかった。一見無関係に見える事件が実は...というところの 「トリック」や、ストーリーの展開のきっかけが主人公の持っている特殊な 能力であったりといったあたり。 Webの書評で見られるように、主人公の少年が、幼い頃〜今回の 事件をどう乗り越えて成長してゆくのか、という方が実のところはメイン なんだろうな、と思った。

_ 冒頭の文章はとても座りが悪かった。宮部みゆきってこんな文章書くんだっけ? と思った。終盤になると格段に迫力がアップしているように感じられたのも また興味深い。


2011/05/11 (Wed)

_ ダウンロードファイルでmsiとzipが選べたのでzipを落としたら 中身はmsiをzipしたものだった。なんだか馬鹿にされているような気分だ。


= 今日のHaskell

_ Parsecを使えるようになるという名分ができたので勉強することにした。

_ ずっと前に買っていた「ふつうのHaskellプログラミング」の練習問題を解きながら 読み進める。まずは7章まで。練習問題は、 量が少なく、また、問題は本文の内容よりも優しめなので、 あまりチャレンジングではない。巻末の回答を見ると そこまでに説明していないフィーチャーをふんだんに使ったコードが 載っていて唖然とした。

_ GHCを入れようとしたら、The Haskell Platformというのをすすめられたのでそちらを入れた。 オフサイドルールがあるHaskellのコードをメモ帳で書く気にはならなかったので、 haskell-modeも入れた。コンパイルはコマンドプロンプトで。 再帰とかパターンマッチングとかはErlangで散々やってきたので戸惑いはない。


2011/05/12 (Thu)

_ 妻の日記を見ていたらノートPCに関して不吉な記述がしてあった。 ものすごく熱をもつので熱暴走かな? それなら手のうちようもあるが、 なんとなくfatalな問題なような気がしてならない。使いかた荒いからな... 自分のノートより先に妻のノートが必要かもしれない。


= マックグリドル

_ 朝めし。珍しく並んでたので以前から気になっていたマックグリドルって どんな喰いものなのかをWebで調べつつ順番待ち。メープルシロップ入りの パンケーキでソーセージを狭んだものらしい。 そしてうまい/そうでもないで論争になっているようだ。

_ これはフレンチトーストにハムやチーズを狭むのと似た系統なんだろうな、と思って 食べてみたらまさにそんな感じだった。個人的には嫌いではない。 ただメープルシロップが舌を直撃した後にソーセージの塩気やスパイスが 襲ってきたりするので、なんとなく口の中がヒリヒリするな。 あとちょっと後味が油っぽい。あれ、全然ほめてないぞ。決して悪くないんだけど、 ソーセージマフィンの方が無難な気がする。



= 台風1号

_ だいたい気付いたときには台風5号とかになっていて、1号の発生は 知らないうちに済んでいたりするものだけど、今年はニュースになっていた。



= 今日のHaskell

_ 9章「型と型クラス」。セレクタというのは便利だなあ。Erlangのrecordみたいな つもりで下記コメントのように書いていたが、実際には非コメントのように書ける。

import List

data Line = Line { number :: Int, string :: String} deriving Show

sortLines :: [Line] -> [Line]
--sortLines = sortBy (\ Line{number=a} Line{number=b} -> a `compare` b) 
sortLines = sortBy (\a b -> number a `compare` number b)

_ はじめてのfizzbuzz

main = putStr $ unlines $ map fizzbuzz [1..100]

fizzbuzz :: Int -> String
fizzbuzz a
  | a `mod` 15 == 0 = "fizzbuzz"
  | a `mod` 3 == 0 = "fizz"
  | a `mod` 5 == 0 = "buzz"
  | otherwise = show a
fizzbuzzがなんで Int→Stringなんだよ、と思うので名前の付け方が悪い。 どう書く?.orgの 回答がすごすぎて痺れた(変形問題だけど)。 数字を文字列に変換するのがshowでよいのかいまいち自信がない。

_ どうも合成とか $ とかをすらすら書けないな。 具体的には、後ろから書いて、前にカーソル戻して、また書いて、$とか.をつけて、 また前に戻って...という繰返しだ。頭の使いかたが悪いのか、頭が悪いのか、 みんなそうしているのかは今のところ不明だ。

_ Haskellのコードの読み書きが少しできるようになったものの、それでも 他の人の書いたソースを読もうとすると脳内に不思議な物質が充満するのを感じる。 もっと書いて読んで慣れないとだめなんだろうな。


= Parsec

_ いじり始めた。Parsec, 高速なコンビネータパーサ がstep by stepでよい感じなので これをとっかかりにすることにした。のっけからうまく 動かないが、 Haskell: parsecを使ってみるを参考にしてひとつずつ解決。 Parsecすごいなあ。手軽で簡単。コードも読みやすい。

_ 48時間でSchemeを書こうとか、 Parsec練習問題が、 今後進む上で消化しなければいけないドキュメントのように見える。

_ といってもまだハードルが高いな。そもそも試行錯誤を始めると、 コンパイラに怒られたときに何が悪いのかを調べるための時間が 多くかかってしまう。このあたりは何度もミスして直して、という繰返しを して慣れてゆくんだろう。いずれにしても まだコードを自分の頭で書いてゆくという状態ではない。

_ 頭がフットーしてきたから息抜きにOCamlでもやろうかな?あちらにも F# + FParsecがあるし...

_ なお、ここまで書いておいてなんだが、 Parsec等でCOBOLをどうにかするかどうかはまだ決め兼ねている。


2011/05/13 (Fri)

_ サンも鈴も今月中にトライアルが開始するらしい。 急展開。サンは来週、鈴は月末。 急展開の原因はどうもコーディネーターのの 打算や手際の悪さから来ているようにしか見えないし、結果的にサンや鈴の 負担になっているような気がする。もちろんこっちも迷惑だし不愉快だ。 それがサンや鈴の幸せにつながるならいいのだが。


_ 5月に入ってから新しいプロジェクトについているのだが、 今になって何がやりたいのかはっきり分からないから進めようがないと上が 言いだしており閉口している。上でこれを始めようと決めて説明があって メンバーが選出されたから今こうして物事が進んでるんじゃないのか? ここにきてそんな寝言を聞かされるとは、 毎度ながらこの組織の物事の進めかたは頭がおかしいとしか思えない。 進めてゆく上で〜が決まってない、決めてくれというこちらの要求が すべて跳ね返ってきたというのも毎回見飽きた光景だ。


= トラックボール

_ 以前読んだ本でデュアルディスプレイとか広い画面を使うときは マウスよりトラックポールの方が移動量が少なくて楽だといった記述があった。 たしかに、普段から3画面(デュアルディスプレイのデスクトップと、 Synergy経由でいじるノートPC)を一度に操作しており、 画面を往復するのにマウスを何度も持ち上げている。

_ トラックボールって楽なのかなあ? 以前Let's NOTEで長いことトラックボールを 使っていたけど、ボールの直径がもっとでかいものはあまり触ったことがない。 細かい動きがあんまり楽そうじゃないというのと、マウスに慣れてしまっているせいか ボールの回転とボタンの操作がいつまでも一連の動作として認識できずに 動かして→押す、という意識がなかなか離れなかった。 特にドラッグ操作をしようとすると、ボール転がしている最中にボタンから 手が離れてしまうんじゃないかと逆に気になって力が入ってしまうような感じ。

_ 「トラックボール 肩こり」で調べてみると、肩こりにもいいよ! というページが いくつか見付かる。「マウス肩」なんて単語も。

_ 以前はDTM環境ではけっこうトラックボールが使われている率が高い気がした。 トラックボールが好まれるのは、マウスみたいに動かすスペースがいらないという ことなのかな。


_ 書いたそばからサンのトライアルがキャンセルになったらしい。 何を急かされたのかすらよくわからない状況だが...


= J2SE5、6の変更点

_ 以前も書いたがJavaをまともに使ってたのは1.2とかそのくらいの頃なので、 最近の動きがよくわからない。 EmacsのAntinewsみたいに変更点がまとまっているところないかな? と思って探しまわってみた。

_ 5.0系

6.0系 そして実はWikipediaの記述で十分だったのかもしれない。 まったく気付かなかったのは オートボクシングとTypeSafe Enumと可変引数くらいか。


2011/05/14 (Sat)

_ よく寝た。秋葉原でお買物。


= ELECOM TK-FCM006BK

_ 小さいキーボード。5種類くらいあったので触りながら比較検討してこれに決めた。 他のやつは、タッチがうるさいとか、配列がおかしいとか、 右が詰まっている等の問題があり、消去法的にこれに決まった。

_ この文章は実際にlibrettoU100につなげて打っている。なかなかよい感じだ。 CF-R5Kより少しキーピッチは小さいようで、これ以上小さいとかなり 打ちづらいだろうな、というギリギリのレベル。そして小さくて軽い。軽いというのは もちろん持ち運びには大事な要素なんだけど、実際に使おうとすると ケーブルのテンションで動いてしまったりするのでなかなか。

_ もともとは折り畳みでBluetoothで、というのを望んでいたんだけど断念した。 最近はいろんな種類が出てきてよいのだけど、 まだまだ高いし、折り畳みのものは剛性が不足しており気持よくタイプできない ように思えたので、先送りかなと思った。


= Logicool TrackMan Marble

_ さっそくトラックボールを買ってしまった。一口にトラックボールといっても ボールの位置やボタンの配置がまちまちで、それぞれに求められている 持ちかたというのがあるのかな、と思う。店頭で何台かいじれたので マインスィーパーをやってみたのだが、右クリックしようとするとボールも 一緒に動かしてしまい極めてイライラした。

_ 最終的に選んだのは、有線、ホイールなし、左右対称のもの。 Bluetoothはキーボードと同じ理由で先送り、ホイールはボタンとボールの 組み合わせで実現可能だろうし、なくてもよいと思った。ボールの位置によって 持ちかたや転がしかたがいろいろ異なるが、軽くいじった限りではこの 左右対象モデルがいちばんしっくりきた。右側面にあるやつは親指で操作するので 大きな動きができなさそうだった。左側面にあるやつは親指でボタンが押せるので 悪くないが高かった。中央にボール、周囲にボタンがあるやつはボタンを押しつつ 操作するのがうまくできなかった(どうしてもボタンを押すときにボールを 動かしてしまう)。

_ Logitec Marblemouse USBの設定方法 - Ubuntu Japanese Wikiに、 この機種の設定が出ていた。すばらしい。

_ しばらくはストレス溜まるだろうが頑張ってトラックボールを使ってゆきたいと思う。 構造的にどうしてもホコリが溜まりやすいので手入れをきちんとせねば... と思うんだけど、ボールの取り外しかたがよくわからない。 他の機種では単にボールが乗っかってるだけというのもあったんだけど。 この機種はきちんとはめこまれているようで、ひっぱっても外れない。


2011/05/15 (Sun)

_ 昨日に引き続きよく寝た。が、酒飲んでいるので寝覚めはひどい。

_ ミニキーボードとトラックボールのおかげで、家にいるときでも librettoが普通に使えるようになった。和室にいるとサンと鈴が そわそわするので、リビングでPCいじれるのはでかい。

_ ...このキーボードはInsキーがないのか(Fn+Delete)。 FreeMindで頻繁に使うのだが...。まあTabにすればいいか。


= 継ぐのは誰か?

_ DZの解説で出てきた本。 以下双方の本と、「魔術はささやく」のねたばれになるかもしれないので注意。

_ 解説のどういう文脈で出てきたのかは覚えていないんだが、 取り上げたのはよくわかる気がした。扱っているテーマや 「伏線」とその回収のしかたの系統がそっくりだった。 「希望」につながるからというわけではないものの、 こちらの方が好ましいというか、読後の印象はずっとよい。

_ SF + ミステリという構成なのかな。ミステリとしてはさほど手強くないという 気がした。一見関連のなさそうな事件が実は...というあたりとか、 普通の方法では不可能に見える手口といったあたりは「魔術はささやく」の 雰囲気にも似ている。こちらは30年以上前の作品らしいので、 SF + ミステリ の基本文法になっているのかなと思った。

_ 作品の舞台は21世紀で、今となってはいわゆる「古い未来」 というやつなんだろう。物語の展開とはあまり関係がないが、 ここに現れてくるテクノロジーの中には、今と比べてむしろ陳腐なのではと 思わせるもの、進歩を想像させる断絶が見えないもの、などが見られて、 それはそれで興味深い。


_ librettoでの生活はなかなか快適だ。トラックボールもすぐ慣れた。 Web眺めるくらいならあまり違和感がない。

_ ただ、トラックボールは指を酷使する印象があるな。肩こりよりはむしろ 腱鞘炎の方が心配だ。


_ トラックボールでMines修行。だいぶ慣れたがやはり手の甲の筋が痛いな。 キーボード打ちすぎたときに感じるやつ(腱鞘炎)だ。余計な力が入っているから だめなのか、そもそも構造的にそうなのか...? 手首が下がりすぎているのが問題なような気がする。


_ いい天気で気温もさほど高くなく非常に過ごしやすかった。 一家そろってドッグランにでかけた。

_ 鈴はGimpのマスコットに似ている。 サンはぞぬだ。


= 強火をやめると、誰でも料理がうまくなる!

_ この本の記述を参考にステーキを焼いてみたところ、非常においしくできて 感動した。要点は下記の通り:

しっかり火は通っているのに嵩はほとんど減らず、柔くておいしかった。

_ この本では、焼きかた、塩分、切りかたの3要素について解説されており、 とくに焼きかたについては今までやってきたこととまったく異なるので 驚きだった。火力が強ければ強いほどよいと思っていたのだが、 言われてみれば熱源からの距離なんて意識したこともなかったことに気付く。

_ 他のレシピも試してみたいところだ。 正直、重量を計るよりは時間でやったほうが楽なのだが、調理器具が一定なら 結果は変わらんだろうし、最初は意識してやってみるのが大事なのだろうと思う。


2011/05/16 (Mon)

_ 会社にもトラックボールを持ってきた。 SetPointというソフトでボタンの割当てとかを変えられるのだが、 Universal Scrollというのがスクロール動作が鈍いしボタン離しても スクロール止まらないしでひどい。 AutoScroll(クリックした場所から相対位置でスクロールするやつ)のほうが まだましだが、普段あまり使ってないのでできれば使いたくない。 そしてSynergyの向こう側にいる奴で操作できない。 Ubuntu(Xorg)の操作感がすばらしかっただけに純正でこれというのは ちょっと悲しくなってくるな。



= JPCERT/CC、Adobe Flash Player最新版へのアップデートを | パソコン | マイコミジャーナル

_ Adobeが嫌いなので目立つだけなのかもしれないけど、それにしても Adobe製品はリモートから任意のコードが実行できちゃう系の問題が 多すぎる気がする。毎月のように出ている気がするし、 問題視してないのか?と思えるほど頻度が減る気配がない。 ザルで水をすくうような対策ばかりなのだろうか?

_ Jobsの言動に理解を示すことはめったにない自分でも、 Flash入れたくない気持は理解できてしまう。


= 本の処分

_ Wikiでまとめている本を処分することにする。 e-ブックオフで二束三文にされるくらいなら、タダでもいいので もっとしっくりくる処分方法がないもんかなと思いWikiに上げたんだが、 図書館に寄贈できないもんかとふと思った。図書館に寄贈できれば、 もしまた読みたくなったら借りればいいし、何より身近な図書館で 技術書がボリュームアップするのは喜ばしいことだ。

_ 図書館を自分の書庫がわりに使いたいというつもりはないものの、 箸にも棒にもかからないような本はないはずだし、 状態も決して悪くないと思うので、置いてもらえるならうれしいんだが... と思って葛飾区立図書館のページを見てみたが 寄贈受付についての記述は見付けられなかった。

_ 実際手間ばかりかかって大変だよな... 余計なコストになっているという話も。 素直に古本として売ることにするか。



= 今日のCOBOL

_ とりあえずLexerぽいのを自力で作ってみる。構文に関係ないものについて除去した リストを作ったので、 あとは、 文法に従ってトップダウンに実装してゆけばいいということになる。 が、手で書くのは面倒だ。

_ そんなことは書く前から分かっていたことだし、だからこうやって いろんな方法を模索していたわけなので今更すぎて涙が出てくるが...


_ 今日は鈴の避妊手術。昼前に預けて、夕方にはもうひきとりに。 サンのトライアルのキャンセルがキャンセルになったとかで、急遽妻が お見合いに行った。そのまま鈴を迎えに行って、私と合流して帰宅。 高砂止まりの電車は空いていたのでよかった。サンはカートの中で とてもおとなしくしていた。

_ 鈴はさすがにつらそうだが、歩いたりおしっこしたりはしている。 ハァハァと息が荒いのは鈴も一緒だった。

_ サンは水曜にトライアル開始だそうだ。となるとあと1日ちょっとしか 一緒にいられないことに。


_ 昨日の続きで、今度はもやしの炒めものを 作ってみた。水分はほとんど逃げずに歯ごたえは生のよう。ではうまいかというと たまに暖かい塩水を喰っているような気分になったので、まあ素材の味がほとんど なかったというのと、あとは塩分濃度が適正ではなかったのだと思う。

_ 家にある電子計量機だと数gの重量を計るのは無理みたいだ。 調味料の計量用にもっと精密な計りが欲しいところだ。


2011/05/17 (Tue)

_ 今日は0.5回休み。鈴の様子を見て過ごした。 午前中はだいぶしょんぼりしていたものの、夕方に家に帰ってきたときは いつもの鈴に戻りつつあった。巻かれていたしっぽもきちんと立てて振ってたし。 まずはひと安心だ。

_ 今日もこの本の記述にならって炒めもの、と スープ。今回はタマネギをメインに使い、そして塩以外の調味料で挑戦。 途端に難しくなった。調味料の成分表示にはナトリウムの量しか 書いてないことが多く、それを塩分に換算し、なおかつ成分表示の単位重量と、 材料の重量を元に必要な量を算出...ということになる。炒めものの方は 炒める前にほぼ分量が決まっているのでいいが、スープの方は水の量も 考えなきゃいけないので大変だ。そして料理しながらいろいろ計算するのは 大変だし、そもそも10g前後の分量をディジタル計量器で計るのは けっこう大変という問題は変わっていない。


= 野村総合研究所はこうして紙を無くした!

_ 紙を無くすことに関して最大の障害は、「紙に打ち出して読みたい」という 欲求というか衝動だと思う。 会議で資料を紙で打ち出すのをやめてプロジェクタを活用するとか、 申請書類のワークフローで紙を不要にするとか、そういうことは 組織内の発想と努力の問題であり、できるところはできるし、できないところは いつまでたってもできない。どうやって実現させるのかというのも、 組織の性格によって千差万別だろう。でも、画面じゃなくて紙で読みたいという 衝動はなかなかおさえられない。

_ といったあたりが読む前に抱いていた紙に関する考えかただ。 この本にはそのあたりのことがどう取り扱われているのかな、と思い読んでみた。 なにしろ冒頭に書いた「欲求というか衝動」は非常にでかくて、自分でも なかなかおさえることができないので、「こうして紙を無くした!」と言われると、 嫌が上にも期待は高まる。

_ で、この本を読むと、紙に打ち出すこと自体を禁止するのではなく、 打ち出した紙を溜めない方向に力を入れていることが分かる。 ある意味で拍子抜けだけど、 「紙で読みたい」という欲求を否定するのではなく、 きちんと計量して、紙の流れを分析して、対策を打ち立ててゆく中で、 無駄を減らし、滞留を減らす方向で進めてゆくというのは 非常に正しいと思った。 資源の無駄という視点や心情的な問題で 最初に手をつけたくなるような気もするけど、そこから 始めたらおそらく空回りしたルールができてゆくだけなんだろう。

_ 一人が溜めてよい紙の量をあらかじめ決めておいて、それに応じて 事務所内の書類キャビネットのサイジングを行う、といった話や、 共有スペースを設けて誰でも書籍を置けるようにする (コンサルティング会社なのでどうしても書籍は溜まるものらしく、 それを共通の書棚に置くようにするものらしい) 興味深いアプローチだと思った。

_ 紙を無くすプロジェクトの始まりが、社長の明確な指示に基づいており、 各論については現場の委員会に一任して進めてゆくというやりかたも 素晴しいと思う。

_ ...が、冒頭に書いたように組織内でどうにかするという方向性よりも いかにして「紙で読みたい」という欲求を解決するかということを 期待していたので、やはり途中に書いたように拍子抜けといえば拍子抜けだ。 それはもう期待するものを間違えているとしか言いようがないんだけど。


_ 左手小指から手首にかけてが痛い。ミニキーボードのせいとは思えないのだが、 ミニキーボードをいじろうとすると痛くなる。打ち始めれば痛くないのだが...

_ librettoはいじればいじるほど便利になってゆくので、なぜ今まで 飼い殺しにしていたのかという気分だ。これから大事に使ってゆこう。 でも寿命が心配なので金に余裕ができたら後継者も考えないといかん。

_ キーボードもとてもよい感じだ。librettoU100はかなり解像度が高いので 見た目以上に広々と使える。夜になって目が疲れてくるとちょっと 読みづらいのだが...


2011/05/18 (Wed)

_ サンは今日旅立ち。朝、家族揃って散歩に出た。鈴もだいぶ元気になり、 少し歩いた。 サンは他の犬と比べると見えている世界や流れている時間がちょっと違うような 気がするので、そこが合うまでは少し苦労もあるかもしれないが、総じて 優しくいい子なので、まず問題ないだろう。 2週間のトライアルを経て譲渡になる見込みだ。

_ いい子のはずのサンが一昨日〜昨日にかけて鈴に何回かマウントした。 弱っているのをいいことに?という感じだろうか。昨日の夕方になって 鈴が復調したので、さっそく逆襲(ヒップアタック)されていたけど。 サンが怒って吠えかかるようなシーンは結局見ることはなかった。 長距離移動の後などは目尻をつり上げて憮然としているように見えることもあるが、 おやつを見せると途端に目尻が落ちるのでかわいい。

_ 鈴とサンは、上記のような小競合はあるものの、大きな衝突もなく よいコンビだ。鈴は一人で留守番するのにあまり慣れてないので、 これからしばらくはちょっと可哀想。けど月末には鈴もトライアルだから もう少しの辛抱だろう。まあ、寂しくはなるけど...


_ 今日はトラックボールを持ってくるのを忘れたので久しぶりにマウスを使う。 あらためてマウスを使ってみると、今まで無意識のうちに処理していたことが いろいろ気になってくることが分かった。

こうして見てみると、やはりトラックボールは楽なのかもしれない。 毎日持って歩くのは大変だが仕方ない。



= 今日のWEBrick

_ いろんな言語環境をいじるので頭が混乱してきた。 WEBrickがあほみたいに遅い。ブラウザから接続を行ってから、 WEBrick側で要求が来たことを示すログが出るまでが遅い。逆引き関係だろうと 思い :DoNotReverseLookup を trueにしてみたが変わらなかった。

_ nsswitch.conf の mdnsの指定を削ったら早くなった。WEBrick以前の逆引きの 問題だったのかしら?以前も似たような 話があった。


_ サン旅立ち。鈴と二人で留守番していたら寂しいやら眠いやらで寝てしまった。


2011/05/19 (Thu)

_ トラックボール掃除。ボール外れねえと思ったら引っ張る力が足りなかっただけらしい。 まだ使い始めて数日しか経過していないが、すでにけっこう汚れていた。 ボールを支える3点の部分にかなりの汚れが。 このトラックボールは光学式なので、 滑りが悪くなるだけで感度が落ちることはないけど、やはり掃除してみると ボールの転がり具合がだいぶ違う。


= ミントタブレット

_ イオンで袋入りの安いやつがあって愛用していたのだが1週間くらい前から さっぱり見なくなってしまった。もともと品数も多いほうではなかったのだけど、 陳列棚のスペース自体がなくなってしまい、取り扱いをやめてしまったように見える。

_ 小分けのケース入りのやつ買うよりずっと安いし、そのために タブレット入れまで買ったのに(携帯灰皿)...

_ イオンのページを見てみると (ストロングもあるよ) とくに生産終了とかではないようだけど。



= ハードウェアに負荷をかけるツール

_ NVIDIA コントロールパネル には「安定性テスト」というのがあって、 CPU、Disk、Memory、PCI-E bus、GPUそれぞれ、または同時に負荷をかけることが できるようになっている。 以前もそれでテストしたことがある。 使いつづけているといきなりおかしくなる、というときは、負荷と温度の あたりが疑わしいので、こういったツールは重宝する。

_ W.S.T. Professionalといった市販ツールもあるらしい。

_ 手軽に済ませるなら各種ベンチを並列で動かすとかかな? CPUに負荷かけつつGPUのベンチマークをして、巨大なファイルを ネットワーク経由でコピーするとか?


_ うんざりしてさっさと家に帰りたくなり、 帰ったらだるくてすぐ寝てしまうどうしようもない生活が続いている。このままだと 病気になってしまうな。


2011/05/20 (Fri)

_ 鈴かわいい。朝の散歩もふつうにできるようになった。しかし考えてみたら あと1週間しか一緒にいられないのか...


= gooブログ

_ 下記のような問題に悩まされている。

preタグの行間については、昨年末に修正したという記述を見つけることができるが、 手元では場所によって治っていたりそうでもなかったりと一定しない。 preタグの中身に依存しているのか?

_ そもそもどこが悪いのかを教えてくれずに黙って失敗するので、いろいろ 削ったりしてどこが悪そうなのかを洗い出して、通るようにするほかない。 なお、preタグを使わなければ問題は発生しないが、ソースコードをのっけるときに 字下げがなくなってしまうのでやはり使いたい。

_ 今までは「旧バージョン」の投稿画面を利用すれば問題なかったので そちらを使っていたのだが、どうやらひっこめてしまったらしい。 リンクがなくなった。

_ 仕方ないので二分検索しつつプレビューが出る→出ないの違いを探ってみると、 どうもコード内に # が入っていると駄目らしい。# といった実体参照にしても駄目で、仕方ないので#(2バイト文字)にしたら ようやくプレビューできるようなった。 そして投稿したら「投稿が完了しました」というメッセージが出るが、投稿できていなかった。

_ ついていけないので別のサイトを探すかなと思う。 今の御時世にblogサービスの強化に力を入れる企業があるとは思えないので、どこも こんなもんなのかもしれないが、目の前に起こっていることを信じれば、 治ったといったものは治ってないし、新バージョンがベータの段階で古いバージョンを ひっこめるとか、簡易プレビューでは問題ないのに...とか、 プレビューはできるのに...といった状況ではよっぽど思い入れのある 人じゃないとつきあってゆけないのではないかと思う。

_ もっとも、そもそもpreタグなんてものがサポートされているのか?という 疑問はあるが、記法一覧的なドキュメントをそもそも見付けることができていない。 まあサポートblog的なところでpreの問題を修正しましたと言っているんだから 使えないということはないんだろうけど...


_ はてなに引っ越しました。 シンタックスハイライトが豊富で素敵ですね。 記法もそんなに複雑じゃなくて楽ちんでした。

_ なんとなく気取った文章を書きたいときはこちらに書くようにします。 今後ともよろしくお願いします。


2011/05/21 (Sat)

_ やっと休みになった。


= 【斑鳩】嗚呼、ゆっくりが行く… Chapter:01

_ 次回作もシューティングとどこかで読んだ記憶があったので、 TPSの何かだろうと思っていたら予想外のものが来た。



= 「こつ」の科学 − 調理の疑問に答える

_ 調理にまつわるいろいろな「こつ」が、何を狙いとしているものなのか、 そこで起こっていることを分かりやすく説明している本。 面白かった。Q→Aの連続なので読みやすい(Aの最初に短かい答えがあると なおよかったのだが)。

_ 元の本はそれなりに古いらしく、そもそもそんな「こつ」があること 自体知らなかった、というものもそれなりにあった。黒豆の煮汁を 甘くして酢を入れて飲むとか。

_ ...最近は健康食品として飲まれているのか。知らなかった。


2011/05/23 (Mon)

_ 鈴がどうも元気がない。体調が悪いのか避妊手術後のしょんぼりなのか、 サン改めメイ子さんがいなくなってしょんぼりなのか、それ以外なのかが よくわからない。ごはんは食べる日とほとんど食べない日があり、 食べない日は腹の調子がよくなく、しかし散歩に出たりすると元気に歩く。


= 青空読手

_ 青空文庫のおすすめ教えろ的なスレで見掛けたので使ってみた。 なかなか快適だ。ただ気のせいかバッテリの消耗が相当すごいような気がする。 Androidの場合はバッテリの消耗については濡れ衣であることが多いが...

_パンドラの匣」を読み終えたので、次は「阿Q正伝」を読んでいる。


= パンドラの匣

_ 初めて読んだのは高校の頃か...?とてもなつかしい。

_ 高校の時分にはあまり抵抗なく読み進めていたようだ。今読んでみると 自意識を制御できているつもりでまったくできていない青臭さや、 背負った文章(註: この小説は主人公が友人に送る手紙という形態をとっている)が、 鼻について、そしてだんだん微笑ましくなって、最後には爽やかな気分になるという 不思議な経緯を辿って読み終わった。

_ それにしてもこれは古典に属するから受け入れられるという面が強いと思う。 発表されて40年近く経過しているという事実込みで、はじめて受け入れられるものが 自分にはある。今現在こういう作品が作られつつあるとすれば、とても素直に 読めないだろう。



= 今日のCOBOL

_ 元のソースをどうこうすることと、ランタイムライブラリを構築して実現することは ある程度独立して作業できるので、後者にシフトした。前者の方が 学ぶものが多く、その分先が読めないので優先的に手をつけるべきなのだが、 それ以外の件が大詰めで邪魔するので、まだ先の見える後者から やっつけることにした。

_ といっても、COBOLの値の持ちかたをどうやるかというのは難しい。 内部表現を剥き出しにしてしまえば整合性をとるのは簡単だが 使い勝手はあまりよくない。逆に、薄い皮をかぶせて意識させないようにすることも さほど難しくないものの、そうするとやはりどうしても無理が生じてしまう。 単純にソースコンバータとして振舞うなら前者の方が望ましい。けどそのコードを 元に拡張や修正をするとなった場合は後者のアプローチをとっておきたいところだ。

_ そして、ちょっとした文字列の解析にパーサコンビネータを使いたくなって しまうようになった。正規表現と制御構造で頑張るよりも パーサコンビネータに魅力を感じるようになってしまったので、 若干困っている。というのも、NParsecはいじってて楽しそうに思えない...


= 江夏の21球

_ 昨日「NHKアーカイブス」で放送されていた。断片的には何度か 見たことがあったけど、一球目から通しで見たのは初めてだ。 やはりすごい作品。あまりに模倣されすぎて、今となっては悪影響の方が 強いんじゃないかというような穿った見方をしてしまいたくなる。 この1球で流れが変わった、とか、人間のドラマが、とか。 下手な模倣でかなりカビついてしまった表現だけど、さすがにこの 作品では迫力説得力演出いずれも申し分ない。

_ 19球目の江夏の投球の壮絶さは何度見ても興奮する。が、それに劣らず、 もしかしたらそれ以上に、その神技を捕球してスクイズを阻止したキャッチャーの 水沼の一連の動きにも神懸り的なものを感じた。

_ ブルペンでウォームアップを始めさせたことに対する古葉監督と江夏の述懐も 19球目に劣らず凄かった。 その時のそれぞれの人物が置かれていた状況と、 起こされた行動、起こった反応が瑞々しく描き出されていてとてもよかった。


2011/05/24 (Tue)

_ 今日もがんばるよ! とは口が裂けても言えない。ので書く。 なんか以前も似たようなことを書いたような気がしてきた。


= 今日のPHP

_ Fiddler 使って流れをおっかけたり、Firebugを使ってコンテンツ眺めたり、 ずいぶん遠いところまで来てしまったなあという印象だ。 2時間ほど格闘してだいぶおっかけかたも分かってきた。 PDTも使ってみたいところだ。

_ PHPをまともに読んだり書いたりしたのは初めてだ。 節操がない感じがすごいするけど、PerlでCGI書いてた頃のことを考えると これも十分ありだなあと思った。Smartyというテンプレートエンジンも お手軽でよいと思う。

_ Fiddler起動したらIEが何も言わずにそれを使いだして驚いた。 Proxyの自動検出というやつなのだろう。考えてみるとこっそりProxy経由に して中身覗き放題とかできて怖い機能だな。こっそりといっても 注意深く


= 今日のNParsec

_ 楽しくなさそうとばかりも言っていられないのでいじってみることにする。 とりあえず例によってCSVパーサを書いてみるかなあ...と思ったが、 型の意味が分からん。意味というよりは、なんでそうなっているのか、 といった方が正確か。

_ うーんなんでだろう、と考えているうちに眠くなってきてしまったので 帰ろうと思う。最近ふんばりがきかないな。


2011/05/25 (Wed)

_ 決して睡眠時間が短いわけではない(平均7時間くらい?)のに これだけダルいというのは、睡眠不足以外の原因を疑ったほうがよさそうだ。 さしあたって食生活と運動?


= 阿Q正伝

_ 変な人だなあ、なんなんだろうこの人。と思っているうちに終わってしまった。


_ 家に帰ってきてから自転車乗りまわすわけにもいかんし、ランニングも どうかと思うので、まずはペダルかな...


= 人間失格

_ 登場人物の手記の形をとっていて、 この様子がすばらしくいい。 自分は他人と違うのかなという疑問とか、思い込みとか、 誰でも持っていそうなものではあるけど、その心の動きが臨場感溢れる 表現で出てくるので迫力がある。

_ 太宰治すごいな。決して喰わず嫌いというわけではないんだけど、 あらためて読んでみたらすごかった。 以前書いたように、 最近本読むと余計な疲れを感じるようになっていて、これはしばらく 本から遠ざかったほうがいいのかなあ?と思っていたものの、 太宰治の本はすんなり読めてひきこまれていったので、 内容によるようだ。


= 今日のNParsec

_ Tutorialを ぼーっと見ていて、なんだこの型は?と思ったのは実際にはaliasだった。 でもScannersとかLexersといったファクトリクラスがあるので、結局この aliasは必須じゃないか、と思った。しかしBinary以下はこのCalculatorでしか 通用しない定義なので usingの左辺にgenerics使えたらいいのに、と思ってしまった。

_ (以下試行錯誤中の記述なので鵜飲みにしないでね) PatternからScanner作って、そこからLexer作るとようやく値がとってこれるらしい。 Scannerで止めると値は捨てられてしまう。Lexerは戻りがTokというやつで、 これはobjectをラッピングしているだけといえばそれだけのクラスだ。 型を指定したり持って運ぶにはそうするしかないんだろうな。

_ ... 値がとってこれない。例によってescapedの部分で詰まるわけだが、 とりあえず二重ダブルクォートのTryがうまくいかず、そして dquoteの内側だけをとってきたいのだが、やりかたが分からない。サンプルで 唐突に生えてくるTerms.OnDecimalとかは何なんだ。

_ dquoteの内側だけとってくるのは、SeqとかFollowedByとかでなんとか することも可能だが、いつでもこういう手が簡単に使えるものなのだろうか?とは 思う。

_ JParsecの方がサンプルが多いかなと思い落としてきたが、コードの様子がまったく 違う。 このへんが 入っているのでまったく違うらしい。

_ ...うーんやっぱりどうしてもTryがうまくいかない。マッチの失敗は 捕捉できているんだけど、その後ポインタが戻っていないように見える。 JParsecにはそもそもParser.try自体が存在しないし、挙動を見ても 巻戻すような処理が入る余地があるようには見えないので、これを使うのでは ないのかもしれない。

_ ...Atomize() か。これで期待通りの動きになった。 現時点でのコード:

using Scanner = Parser<_>;
using Lexer = Parser<Tok>;

public Parser<Tok[][]> Parser
{
    get
    {
        Pattern p_dquote = Patterns.IsChar('"');
        Pattern p_cr = Patterns.IsChar('\r');
        Pattern p_lf = Patterns.IsChar('\n');
        Pattern p_crlf = Patterns.Sequence(p_cr, p_lf);
        Pattern p_comma = Patterns.IsChar(',');
        Pattern p_textdata = Patterns.Any(
            Patterns.InRange((char)0x20, (char)0x21),
            Patterns.InRange((char)0x23, (char)0x2b),
            Patterns.InRange((char)0x2d, (char)0x7e));

        Scanner dquote = Scanners.IsPattern(p_dquote, "dquote");
        Scanner textdata = Scanners.IsPattern(p_textdata, "textdata");
        Scanner comma = Scanners.IsPattern(p_comma, "comma");
        Scanner cr = Scanners.IsPattern(p_cr, "cr");
        Scanner lf = Scanners.IsPattern(p_lf, "lf");
        Scanner crlf = Scanners.IsPattern(p_crlf, "crlf");

        Lexer nonescaped = Lexers.Lex(Scanners.IsPattern(p_textdata.Many(), "nonescaped"), Tokenizers.ForString);
        Lexer escaped = dquote.Seq(
            Lexers.Lex(
                (textdata | comma | cr | lf | dquote.Seq(dquote).Atomize() ).Many_(), Tokenizers.ForString)).FollowedBy(dquote);
        Lexer field = escaped | nonescaped;
        Parser<Tok[]> record = field.SepBy1(comma);
        Parser<Tok[][]> file = record.SepEndBy1(crlf);

        return file;
    }
}
private void Test()
{
    try
    {
        string input = "foo,\"bar,\"\"quoted,string\"\",baz\",ahya";
        var tokss = Parsers.RunParser(input, Parser, "");
        foreach (var toks in tokss)
        {
            foreach (var tok in toks)
            {
                   System.Diagnostics.Debug.WriteLine(tok.Token);
            }
        }
    }
    catch (Codehaus.Parsec.ParserException ex)
    {
        System.Diagnostics.Debug.WriteLine("Parse Error:\r\n" + ex.Message);
    }
}
感想:

_ そして、実行結果は下記の通りで、

foo
bar,""quoted,string"",baz
ahya
Erlang版の初版と同様に、二重のダブルクォートがそのまま出てしまっている。 現時点の知識だけでこれをなんとかすることもできると思うが、おそろしく ひどい工事になりそうな気がする。 それかMap()で二重ダブルクォートをReplaceしてしまう安直な解法に走ってしまいそうだ。

_ いじりかたは少し分かったけど、分かってもやっぱり面倒で楽しくない という気分。JParsecだとまた違った感想もあったのかもしれない。


2011/05/26 (Thu)

_ 寝不足?の原因の一つに鈴に起こされるというのがあるかもしれない。 ベッドの上でおしっこうんこすることはなくなったかわりに、 おしっこうんこしたくなると乗っかってきて起こすようになった。 そこですかさず下に降ろしてやるとシートの上できちんとしてくれる。 ぼやぼやしていると諦めて(怒って?)フトンの上でしてしまうので さっさと目覚めて下に連れてってやらないといけない。 うんこしたら片付けないといけないしな。

_ 寝不足は辛いが起こす様子がかわいらしいのでよい。 軽いので単に乗るだけだと駄目だと思ったのか、 勢いをつけて乗る、乗った上で歩きまわる等の工夫をしているのが特にかわいい。


= 今日のOCaml

_ F# + FParsecを使えるようになりたいという名目ができたので OCamlを始めた。Haskellは満足に書けるようになったとは口が裂けても 言えないものの、Parsecで書かれたパーサを読めるようにはなったので、 同様の取組みでFParsecをいじれるようになるかなと思う。

_ 以前買っていた「プログラミング in OCaml」で勉強。 5章まで。リストいじりになると楽しくて余計な時間を使ってしまった。 まだまだOCamlならではのところまで至っていないように思うが、 この段階でFParsecで書かれたパーサを眺めてみると、いくつかわからないことが あるものの読めないことはない。コンピューテーション式というのが よくわからんし索引にも載ってないと思ったらこれはF#独自のものらしい。

_ まだモジュールの作りかたを読んでいないので ここまでの勉強はすべてocaml-modeの中のモード(Inferior Caml)でやっている。


2011/05/28 (Sat)

_ いそがしく働いたりノビロー光線をチャージして照射したりしているうちに 鈴の旅立ちの日を迎えてしまった。

_ いつもよりフトンで長く遊んで、雨の切れ目に散歩に出て、先程妻が 連れていった。初めて会ったのは3月4日? 寒い日だった。来て数日は感情の動きが捕めず苦労したが、すぐにおとなしくて いい子になった。サン(メイ子)が来て少ししょんぼりして、また勢いを取り戻すのに けっこう時間がかかったような気がする。来てすぐに地震→わんた体調崩す、と、 夫婦にとって辛い日が続いたが、鈴とサンにどれだけ救われたか分からない。

_ そしてついに家には一匹の犬もいなくなってしまった。妻と住むようになってから、 犬がいない生活というのを一度も送ったことがない。二人で住むにはこの家は 広すぎるかもしれないな。

_ そしてコーディネータの人はまた時間を守らずに不思議な行動をしているらしい。 そういう人はたまにいるけど、どういう発想なんだろう。 約束を守らないというよりは、約束を尊重しない、あるいは、 約束を守ることに労力を払わない人ということのようなのだけど、 ここまで極端な人は珍しい。他人を道具だと思っているのだろうか? あるいは、別れの寂しさを怒りで上書きできるよう、敢えてそのような振舞いを しているのかもしれない。もちろんそんなことはないんだろうが。

_ 共感に乏しく約束を尊重しない人というのは、 人生をひっかきまわす素質が十分なので、たとえ「悪い人」ではなく、 「なんとなく許してしまう」としても、全力で逆方向に逃げてほしいとは思う。


_ 家にはもう犬がいないのに、水がなくなりそうだと補充しようとしたり、 ちゃぶ台の隅に犬の気配がないか探ったりしてしまう。無意識の行動だな。

_ 鈴が旅立ったのでリビングから和室にひっこした。 鈴はリビングに誰もいない状態で別の場所に誰かいるととてもそわそわしたのだ。 そして和室がとても好きで(今思うと畳が好きだったんだろう)、 おしっこするのでlibretto持ってリビングでPCいじるようにしていた。


= Wheel Ball

_ リビングから和室に戻ってきたので久しぶりにデスクトップPCを普通に 使った。トラックボールをつなげるのは初めてなので、 今回はWheel Ballを使うことにした。SetPointはいまひとつ感銘を受けなかったが、 スクロールのことだけを考えるとこちらの方がずっとよいし、 これで十分かもしれない。

_ あとは右の小さいボタンが真ん中ボタンと同じ 動きをしてくれれば言うことないんだが、コントロールパネル等を見てもそのような 設定はなかった。まあスクロールと違ってないと死ぬというわけでもないので (スクロールなくても死なないようにしたいところだけど)、本当に困ったらまた 考えることにする。FirefoxだったらCTRL+左クリックで代用できるし。


_ 一昨日の外出先がたまたま大久保だったので、晩飯は大久保だった。


= 手伸ばしらーめんの龍ちゃん

_ 刀削麺を目の前で作ってくれる。おいしいし値段もお手頃で素晴しかった。 店主さんの感じもとてもよかった。また行きたい。

_ 北口を出て新大久保方面に向かうと道路右側に。


= 焼き小龍包

_ 上海名物らしい。周辺は香ばしく焼けていててっぺんは多少柔らかさが残っているので 不思議な食感だ。 手で持っても形が崩れないので、歩きながら食べるのにいいのかしらと思ったら、 かならず小皿の上で割って食べてねといった注意書きがあったので、 普通の小龍包と食べかたは変わらないらしい。 きちんとスープが閉じこめられていて、アンがしっかりしていておいしかった。 牛肉スープ120円というのもとても気になったが、腹いっぱいで試すことは できなかった。

_ ↑のラーメン屋さんの道路向かいをさらに新大久保方面に少し歩くとある。 小さなお店だ。


2011/05/29 (Sun)


= 第13回お勉強会

_ 1ヶ月ぶりの開催。身が入らずあまり成果なし。

_ いろんなAndroid端末が集まった。機種ごとに微妙に動作が異なるアプリを 開発している人はこの機会にいろいろテストをしていたようだ。

_ librettoでのダイヤルアップはとても順調。Windowsマシンでやってたときは 頻繁に切れたりつなげなおしたりしていたもんだが、今回は4時間以上 つながりっぱなしだった。(普段は電車の中などでしか使ってないので そのせいかもしれない)

_ ふと、librettoにダイヤルアップルータやらせたらどうだろうと思い 調べてみたらhostapdというやつで無線LANのインフラストラクチャモードで 待ち受けできるようになるとかで、試してみたら接続までうまくいった。 でもIPあげたりルータ組んだりするのが面倒になって中断。


2011/05/30 (Mon)

_ 早起きして散歩に行く必要もなくなり寂しい。

_ 台風が心配だったのでそのまま出社。



= xperf

_ そんな便利なものがあったなんて知らなかった。あと2ヶ月早く知っていれば... という場面がいくつか思い浮かぶが、不幸なことに今やってる仕事では 使いそうにないので次回に備えてメモしておく。


2011/05/31 (Tue)

_ なんだか神経が昂ぶっているのか頻繁に目覚めて寝付きが悪い。


= ONKYO TW117

_ やはりWindows 7はチャレンジングな気がする...。 HDDにアクセスして遅いんだろうなあみたいな「重さ」と、 この手の形状を持つデバイスというのはやはり相容れないものがありそう。

_ エクスペリエンスインデックスは2.3(プロセッサ2.3、メモリ4.5、グラフィックス2.8、 ゲーム用グラフィックス3.0、プライマリハードディスク5.4)。 スコアは高いけどなんかディスクがもたついているような印象がある。




Zinnia (zinnia@risky-safety.org)
Back