おもしろく生きたいね

WEB+DB PRESS Vol.46WEB+DB PRESS Vol.46で取り上げたGNU diff(1)のラッパー、「di」をGitHubに置いた。GNU diffには多彩なオプションが用意されているが、POSIXなどの規格の縛りもありデフォルト設定が日常利用には不便なものになっている。いちいちdiff -Nrpu dir1 dir2なんて面倒くさい。以下の特長を持つラッパーdiで楽をしよう。

  • -U3 -N -p -dがデフォルト。
  • 出力が色付き。ページャが起動される。(Gitのまね)
  • バックアップファイルやオブジェクトファイル、.git, .hg, .svn, CVSなどのディレクトリを無視する。
  • RCS/CVSキーワードタグの違いを無視する。
  • ディレクトリを与えれば自動で再帰比較。
  • 上記を含むデフォルトのオプション設定は環境変数で変更可能。
  • GNU diffがサポートしないオプションの組み合わせもサポート。

alias di="diff -ru"でいいんじゃないの?」という人は、理不尽におこられた経験がないのかもしれない。context diffがほしくなってdi -c FILE1 FILE2とすると、展開されてこうなる。

% diff -ru -c FILE1 FILE2
diff: conflicting output style options
diff: Try `diff --help' for more information.

黙って後から指定した方を採用してくれればいいのに、まったく余計なお世話だ。(FreeBSDではこのエラーは抑止されている)
そして、diff FILE1 DIRは動くのになぜかdiff FILE1 FILE2 DIRはエラーになるのも不便だ。

% diff FILE1 FILE2 DIR
diff: extra operand `DIR'
diff: Try `diff --help' for more information.

diだとちゃんと動く。ほかにも、-r-D NAMEが組み合わせられない問題も自力でディレクトリを辿ることで回避している。
インストールは、単にbin/diをパスの通ったところに置くか、またはgem install diでOK。動作にはRubyが必要。
弱点は大きなツリーの比較が遅いこと。GNU diffは-x/--excludeを使ってもファイル名でしか除外できず、二つのファイルリストを渡して比較するということもサポートしていないため、自力でディレクトリ探索を行う場合はディレクトリごとにdiff(1)を複数回起動しなければならない。しかし、並列起動で高速化する余地はあるので今後の課題。
もう一つ、--ignore-file-name-caseをサポートしていないが、これは面倒な割には使いたいと思ったことがないため。それだけなので、気が向けば実装するかも。あるいは切実にほしいあなたが実装するかも。


Emacsでカーソル移動、削除、マクロ実行などを繰り返したいときに手軽なのがC-uC-uの後に数字を入力すればその回数になるが、単にC-uだと4回、C-u C-uと2度押すと16回、3度押すと64回、という具合に、n度押すと4n回繰り返される。数字キーに手を伸ばさなくていいのですばやく操作できる。
しかし。4の次が16って飛びすぎじゃね?4回というのは「目の届く」「小さい範囲の」繰り返し回数として適度だが、16回となるといきなり「だいたいこのあたりぜんぶ」「もっとたくさん」といった鷹揚なニュアンスである。昔から「いち、にい、たくさん」と言うではないか。ナベアツもイチ、ニ、サン!で初めてアホになる。
というわけで、4, 8, 16, 64, 256, …のように8を挟むようにしてみた。

(defadvice universal-argument-more
  (before stop-by-eight-before-sixteen (arg) activate)
  "Stop by eight before sixteen."
  (let ((num (car arg)))
    (if (> 16 num) (ad-set-arg 0 (list (/ num 2))))))

使ってみると、これがけっこうしっくり来るんだな。C-u C-uだと多すぎだからC-u+コマンドを2回、というシーンはけっこうあるので、4から16と急加速する前に8を。スペースを8個削るとか、8行分コピーするとか、なかなか手頃なサイズです。
このなかなか表面化しないフラストレーションを言葉にしてくれた同僚のK君に感謝。


最近、ケータイでは「最強 東大将棋」の通常対局で遊んでいる。一手25時間と持ち時間が長いので移動や休憩の時間に進められるのがいい。まだサービス開始からまもないので会員が少ないのが残念だが、激指と相互乗り入れしているようなので手薄ながらもけっこうな頻度で四、五段クラスとも指せる。感想戦がないので、勉強というよりは腕試しと思ってやる。
ただ、有段者にとっては、スタートできるのがR1850の初段からというのがつらい。勝率9割超で80局近くこなしてようやく、R2300の五段が目前となった。Rが下と思って指していた相手には気の毒だが、それは自分の身にも降りかかることだから、相手のRによらずベストを尽くしましょうということだろう。(プロ同士なら当然のことだが、アマではブラフ込みの駆け引きも勝負の内)
プロ棋戦は、目下久保棋王の活躍で俄然盛り上がっている。羽生から王将を奪って二冠となるか目が離せない。順位戦は明後日がA級最終局。すでになんと佐藤の陥落が決まってしまっているが、前期昇級の井上はまだ残留の可能性があり、高橋に至ってはプレーオフ進出の可能性もある。三浦が勝って自力で初の名人挑戦を決めるか、あるいは破れて最大三人のプレーオフに突入するのか。来期はB1からは久保とともについに渡辺が上がってくるし、順位の重要性を考えれば消化試合はない。本当にわくわくするね!
最近はなかなか生で中継を見たりまでは手が回りませんが、後追いであってもネット中継およびテレビ棋戦は全局観戦しています。最近は女流の将棋も観戦に耐えるものになってきているし、ソフトの進化で自動検討の精度も高い。どうぶつしょうぎLPSA公認)の人気や、HIDETCHIさんの動画などを端緒とするさまざまな国際普及の動きなどなど、自分も何かしたくてうずうずするほどのにぎやかさ。

やー、すばらしい。何につけても、本当にいい時代を生きていると実感する。なんでもしなきゃな。


ここのところ会社と家を往復するばかりの日々なので、外での飲み食いはほぼ付き合いのみで最小限、友人と会わずイベントにも行かずの出不精。むなしくなるのでfoursquareなんか無視を決め込んでいます。

といっても家のごはんはおいしいし、坊やは手がかかるけどかわいいしで平和な日々を過ごしています。

生後二ヶ月を過ぎて、眉毛ができてきて、宇宙人からアニマル浜口を経て少しずつ人間になってきました。そして、衣食(おむつとおっぱい)満ち足りたときは芸事の稽古を始めます。さかんに手足を動かしたり、たぶん意味はわかっていないけど笑い顔を作ります。ここ二三日ほどは、ごくたまにだけどあーとかうーとか言うようになりました。

うんちがくさくなってきたのも成長のしるしでしょうか。炊事のときは、ごはんが炊けたにおいとまぎらわしくて困ります。紙おむつは快適すぎて泣かないからよくない、手間は掛かるけど布にした方がおむつは早く取れるという話をよく聞きますが、この子は紙だけどちょっとでもするとすぐに泣きます。そこは、二徹がぎりぎり限度で自分のにおいに我慢ならなくなり、ほかの人ががんばっていてもシャワーを浴びに帰ってしまう自分に似たのでしょう。

ベビービョルン ベビーシッター・バランス(収納バッグつき) ブラウンあやしグッズはバウンサーが超助かる!これのおかげで、抱っこ→寝る→ベッドに寝かす→起きて泣く→抱っこのイテレーションがだいぶ低減されています。

首はまだ据わりませんが、きょろきょろと興味の向いた方を見るようになってきて、少し気をつけてやれば縦抱きもできるのでだいぶ楽になりました。

そろそろ外出も考えたくなってきたのでベビーカーを注文しました。子供用の準備金からの支出だからちょっとふんぱつしました。使ってみてよかったら紹介します。

今はどんどんひとりで成長していくのを世話をしながら傍観するのみですが、意思を持ってそれを表現しだしたらどうなるんだろうかと、妻と一緒にどきどきしながら見守っています。まあ、まだ当分先だよな!


SHURE 高遮音性イヤホン・パールホワイト×ブラック SE310-A-Jヘッドホンにおける物理的な弱点は、何と言ってもコードにある。柔らかいコードは絡みがちで、硬いコードは取り回しづらい。いずれにしても長年使えば被覆のひびや断線からは逃れ難い。

Shure E4cを買って以来同社製品を愛用しているのだが、その耳の後ろにかける方式がコードに掛ける負担は半端ない。抜けたり落ちたりしなくて快適な反面、ぜんまいみたいな癖がついてしまって、二年くらいするとだいたいひびが入ってしまう。保証期間内なら修理(いずれお世話になるので海外からの輸入はお勧めできない)に出せば済むが、いずれ期間が切れて壊れる日はやってくる。俺にもやってきた!

ひびが入った!左の写真のように愛用のSE530に入ってしまったひびの補修に挑む。まず、メンディングテープやセロテープは見た目がひどいだけでなく、柔軟性がないのでカーブに沿わず耳に当たると痛い。ビニールテープは良さそうに思えるが、十分に吸着させるには何周か巻かねばならず、厚くなって見た目が悪い上に重くなる。また、張り際の糊がベタベタして不快だ。

ひびをスーパーX2で埋める! そこでコニシボンド、アロンアルファ、セメダインなどのシリーズから接着剤をいくつか試したところ、結論としてはセメダイン スーパーX2がいい感じだった。右の写真のように埋めてしまう。固まるとぶよぶよのシリコンゴム状になるので、ひびを包み込んだまま曲げに追従してくれる上、耳に当たっても違和感がない。膨れすぎと思ったらカッターで削ることができる。また、気に入らなければカッターで割いてもいでしまえば元通りだから何度でも補修し直せる。

どうってこともない情報だが、検索しても出てこないから試して書いてみた。何万円もするものだから大事に使いたい。今回はクリア(無色)を使ったが、ブラックもあるようなので今度買って試すつもり。

なお、断線したときなど、線を一度切るのがありならRolling K.先生指摘の熱収縮チューブが使えそうです。


将棋に関する文章を快適に入力するためのIME用将棋用語辞書の最新版、rev.56をリリースしました。将棋ファンからプロの将棋ライターの方まで、幅広くお勧めします。

今回初めて、Mac OS Xの標準日本語入力システムである「ことえり」にも対応しました。ことえりは品詞の種類が少ないため、動詞の類はすべて「無品詞」扱いです。ことえり愛好者の方々はぜひお試しください。


紅茶の水出しはディンブラとかヌワラエリヤも試したが、やはり水出し紅茶ダージリンで作りたくてひさしぶりにやってみた。

常温の水1.2Lにマスカテルバレー農園2nd flushを5gずつ2袋のティーバッグに入れて浮かべ、三、四時間。すばらしいマスカテルフレーバーにあふれる、きれいな水色のアイスティーができました。こんなのを飲んじゃったらぜいたく者になっちゃうね!

原価は200円強だからジャワティーストレートより安い。いっぱい作り置きしてペットボトルに詰めて持って行こうかな。


坊やあまり身内や友人の写真をぺたぺた貼るくちではないんだけど、遠い友人やそうそう会えない知人も多いからうちの坊やをご紹介。まだ出歩けないしね。

こいつがぜんぜん寝付かないんだ…


あけましておめでとうございます。

今年もおもしろい話があったら気軽にください。家庭や家族の諸事情で忙しいのに加え、本業はもちろんのことサイドプロジェクトも抱えて手一杯になりそうですが、こういうときこそ未来を作るための布石をあれこれと打ちたいとも考えています。本年もよろしくお願い致します。

今日は家業の事務所移転のための物品整理をして、ここ十年ほどのがらくたの仕分けに勤しみました。学生時代のノートとかプリントとか、さまざまなメモ、契約が終了した仕事の資料、フロッピーやCD-ROMの山などなど。

形ある物の処分には、とかく感傷が付きまとう。有用性を言えばむろんすべて不要なのだが、この山はいったいどれだけの追憶をもたらしてくれるのだろうと思うと捨てるに捨てられない気分になる。

でも、結婚して子供も生まれたのでけっこうあっさり捨てられた。年初にこそ、新しい人生をスタート。


お義母さんが妻の好物、ビアードパパのシュークリームを持っていらした。さっそくダージリンマスカテルバレー農園2nd flushを淹れてティータイム。ダージリンはお湯100mlあたり茶葉1gとすれば失敗が少ないが、2nd flushの場合はもう少し減らした方がいいかも。今回は7.5gで3人分としたけど若干濃かった。

さて、ここ2日ほど寝かしつけようとしても寝つきの悪い中身さんだが、「もう寝てくれ〜」「起きるなよ〜」といった意識は敏感に察知されて泣かれるから無心に抱く。お義母さんからは、起きているときは抱っこして動いてやるといいと教わった。母体とともに動く胎児のリズムが落ち着くらしい。

そして名付けのこと。自分も、物心が付いて名前の由来を聞かされたときからそれに縛られてきた。新しい世紀の幕開けを特別な思いで迎えたし、なにかを通じて自分なりのかがやき、きらめきを残すということはいつも念頭にある。それを踏まえて、生まれてきたこの子に何を望むかと考えれば自ずと名前は決まった。私の名前から一文字与えてほしいという妻の希望にも合う。そんなわけでお義母さんへの披露をもって正式決定。

たまたま結婚も祝ってくれた飲み友達と同じ読みの名前になったよ。今度発表しますね。