2005/04/29

新宿でケーキの食べ邦題、発体験。可もなく不可もないものが好きなだけ食べられるという意味では興味深い。あと、となりの女性がものすごい勢いでサンドウィッチを頬張っていたのが興味深い。

ところで今日は荒川区川の手祭りでもあった。例年通り、何ともいえないいい雰囲気の行事だよなあ。

2005/04/28

夜になると鬱が晴れて仕事への意欲がわくが、ミスが増える。眠たいし。
キーボードは Happy Hacking Keybord Lite(2じゃないほう)と決めて、はや数年。4台をあちらこちらで使ってるけど、最近になって欠点が判明した。とくに前期に生産されたものに顕著なんだけど、本体が反りやすい。おかげで、打鍵のたびに微妙にカタカタいう。足が一本だけ短いテーブルの上で文字を書いているときと同じイライラ感。原因は、きっと背面の硬質プラスチック成型の難だろう。あらためて見るとタイ製と書いてある。

むかし、プラスチック製品の製造にかかわったことがある。実は、プラスチックの射出成型は想像するほど簡単じゃない。つまり、機械まかせにしてポコポコと安易に量産できるようなものじゃない。気温や湿度が変わるだけでも射出時の圧力や温度を調整しなければならない。しかも、プラスチックの成型可能な温度には下限も上限もあるから、この調整が製品の質を左右する職人技になる。さらに職人になると、コンディションに応じて材料や可塑剤の配合まで(同じ商品を作るときでも)変えてくる。
プラスチック成型職人の職人たる所以は、実際の成型段階での技にとどまらない。よく考えれば当然だけど、金型の設計段階から彼らの技が効いてくる。まず、そもそもプラスチックをうまく流せるように金型を作る必要がある。プラスチックは金型へと射出した瞬間に冷えて流れにくくなるから、可能な金型の形状は自然と限られる。また、金型から取り出した製品は冷えて縮まるため、金型本体は出来上がり寸法より微妙に大きく作らなければならない。縮み率は材料によってずいぶん違う。完成品の外見に対する配慮も必要だ。材料の流し込み口はどうしても最後にランナーとして残ってしまうため、どこから材料を射出すれば製品の目立たない位置にランナーをもってこられるかも考慮する。透明なパーツともなれば、一切のムラも許されない。そのために金型の成型面へメッキを施すこともある。
そこで、プラスチックの性質を知りぬいた技師の意見を取り入れて金型職人が金型を彫り、それで試しに成型してみて、部分的に削りなおしたり肉盛りしたりしながら金型を調整する。だから、CADで設計したものを自動旋盤で彫るだけじゃまっとうな金型はできない。

自分がプラスチック成型にかかわったのは国内の射出製造業者と金型業者だった。そして、彼らの職人技は、一言でいうとすごかった。びっくりした。これぞプロフェッショナル。しかも気負わない。

はて、何がいいたかったんだろう。

2005/04/27

Haskell という不思議な名前は Curry Haskell さんにちなんだものだということを今さっき知った。Curry だって? Curry-Howard の同型定理の Curry?

Curry-Howard
つまり、ここ数年間、同じところを回ってたってわけか。楕円軌道だったけど。

2005/04/26

秋葉原のDYNAMIC AUDIOで 高田みち子 を買おうと思ったら売り切れだった。そんなに売れてる、これ。まさかね。SACD だし。

2005/04/25

金曜日から脳内を仮想的な軟禁状態において切羽詰まった仕事をいくつか片付けていたわけだが、相手に渡してしまったらそれ以上の仕事はできないので、これで区切り。また今週末から似たような状況になることは目に見えているけど。

久しぶりに微かに陽のあるうちに会社を出て、奥様に電話をかけたら、たまらなく泣きそうになった。それで、苺屋でケーキを2つ買って帰る。

どうでもいいけど、自分が自分の結婚生活の多くの部分で依拠しているのは、もしかしたら Samantha Stephens の行動パターンではないかということに気が付いた。Darrin ではない。よく考えたらどうでもよくないことなので、またあとで書く。

2005/04/24

今日も、ほぼ自分のことができなかった。かろうじて奥様と小一時間の散歩だけ。

2005/04/23

2005/04/21

北新宿のピッキヌー(タイ料理)に行って、いくつかの発見。

  • パイマックルー(こぶみかんの葉っぱ)は、素揚げするとパリパリしてうまい。

  • タイ料理に使われている唐辛子は、種が多くて本気で辛い。ハバネロを自家栽培している人間が言うんだから信じたほうがいい。もっとも今日は口内炎がいたかったというのもあるけど

  • やっぱりホーリーハジルの香りは最高

  • マテ茶は生姜茶のような風味がする

  • 新宿から日暮里までの自転車走行時間は、コンビニに寄っても40分

  • 気が合うというのは、やっぱり重要だ

2005/04/20

名前つきletの2重化という知恵をいただいたので、代入を葬ることができました。条件式も少し整理したので、これで少しはかっこよくなったかな。

(define prime-list
(let ((primes '()))
(lambda (upper-int)
(let next-primes ((test-int 2) (primes primes))
(let next-divider ((test-int test-int)
(ls (reverse primes)))
(cond ((null? ls)
(next-primes (+ test-int 1) (cons test-int (reverse primes))))
((> test-int upper-int)
primes)
((integer? (/ test-int (car ls)))
(next-primes (+ test-int 1) (reverse primes)))
(else
(next-divider test-int (cdr ls)))))))))

「test-int の除算チェックを √test-int までに制限」とかの工夫は、すぐにでも追加できそうな気がする。

2005/04/18

名前付き let に興奮。って、おまえはその昔大学でλ式やったんじゃないの? 学生のときにもっと勉強しておけばよかったっていう言葉の意味がわかりつつあるのは、きっと大人になったからなんだろう。いや、学生のころも、勉強はした。けど、抽象的な対象ばっかり扱っていたし、何より自分のコンピュータが買えなかったのが悔しい。あと、コンピュータ数学のゼミが体育会系で疎遠だったのも悲しい。

まあ、いいや。とにかく素数は避けられない。

(define prime-list
(let ((primes '(2)))
(lambda (upper-int)
(let next-prime ((test-int 3) (ls primes))
(if (< test-int upper-int)
(if (integer? (/ test-int (car (reverse ls))))
(next-prime (+ test-int 1) primes)
(if (null? (cdr ls))
(begin (set! primes (cons test-int primes))
(next-prime (+ test-int 1) primes))
(next-prime test-int (reverse (cdr (reverse ls))))))
primes)))))

(prime-list 91) =>
(89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2)

目下の問題

  • ifがおおすぎ

  • 代入をなんとかしたい。でも、こういう結果(判定ではなくリストを得る)を求める以上は無理かな

  • リストの末尾を削るには reverse して car して reverse するしかないの?
上野公園の噴水は夜になるとオレンジにライトアップされる。今日は、その前で、どこかのカップルのシルエットが抱きあっていた。こういう光景をみて、オーシャンズ・イレブンのラストシーンしか思い出さないのは、正直がっかりだよ。

全然関係ないけど(自分のなかでは関係ある)、ぼくがもう一度みたいのは「宇宙船サジタリウス」だったということが突然判明した。人生の事象は p=1 で突然です。
小学生のころテレビ朝日で放映してたアニメなんだけど、長いことタイトルが思い出せなくて「悩ましかった」。ちなみに、このアニメに出てくる女性科学者はほんとうに悩ましいんですよ、hisashimさん。かばだけど。シマウマだったかな。DVD-BOXは初回限定生産で入手不能っぽい。ところで、自分の脳内でこのアニメと同列にあるのが、NHKみんなのうたで短期間だけ放映されていた「かにさん」という歌。どっちも、人生のしがなさが動物(またはカニ)の視点からえぐりだされていて、夢や希望をそぎおとされる感じ。こういうのを子どもに見せると、トラウマになるか、人生で大切なのは友情や努力なんだと勘違いするようになる。
奥様が出かけてるの忘れてた。しかたがないので、帰りに日暮里の「鶴」で塩ラーメン。ここのスープは、なんでこんなにきれいで飾りっ気なくって、うまいんだろう。胡椒を少し振ると、さらにすてき。

2005/04/17

reverseもどきで一番頭が痛かったのは、与えられたリストの car をそのまま末尾に cons すると proper なリストにならないことだ。つまり、(1 2 3 4 5) => (5 4 3 2 . 1) になってしまう。そこで、今朝までのバージョンでは、まず最初にリストの car をリストにする処理を行っていた。(1 2 3 4 5) => ((1) 2 3 4 5) みたいにしておけば、((1) 2 3 4 5) => (5 4 3 2 1) が得られるという仕組み。これが気持悪い。そこで、名前付き let を工夫して、最初だけ空リストを頭にくっつけられるようにしてみた。この方法なら、本来の処理で cons が1つ減るというおまけ付き。

(define rvs
(lambda (ls)
(let fishy-rvs ((rvsed '()) (amari ls))
(if (null? amari)
rvsed
(fishy-rvs
(cons (car amari) rvsed)
(cdr amari))))))

だいぶいい線にたどりついたんじゃないかな。
そうか、名前付きletを使えばいいのか。

(define rvs
(lambda (ls)
(let ((ls (cons (cons (car ls) ()) (cdr ls))))
(let fishy-rvs ((ls ls))
(let ((amari (cdr ls)))
(if (null? amari)
(car ls)
(fishy-rvs
(cons
(cons (car amari) (car ls))
(cdr amari)))))))))

アルゴリズムは昨日のと同じ。しかし今度はletだらけで、やっぱりうざい。

2005/04/16

reverseもどきのrvsプロシージャのメモ

(define fishy-rvs
(lambda (tr)
(cond
((null? (cdr tr)) tr)
((null? (cdr (cdr tr))) (cons (car (cdr tr)) (car tr)))
(else (let ((amari-tr (cdr (cdr tr))))
(fishy-rvs
(cons
(cons (car (cdr tr)) (car tr))
amari-tr)))))))

(define car2proper-list
(lambda (ls)
(cons (cons (car ls) ()) (cdr ls))))

(define rvs
(lambda (tr)
(if (list? tr)
(fishy-rvs (car2proper-list tr))
"it's not list!")))

なんかもっとかっこよくならないものか。

2005/04/14

これはなんだろう。

gosh> (* 2.3 3)
6.8999999999999995
gosh> (* 2.33 3)
6.99

2005/04/13

自分の要件だけ伝えられる人がうらやましい。自分の要件を主目的に位置づけられる人がうらやましい。この手の「うらやましい論理」は終点だから、ここいらで降車しないと。

2005/04/12

雨が降ると上野公園の花見客が消えて素晴らしい。花見してたっていいんだけどさ、ブルーシートはHL派と一緒だからやめようよ。

2005/04/11

さすがに疲れた。眠っても眠っても眠い。しかしこんなところでとまっているわけにはいかない。かといって、行き先もない。っていうか待ち時間たいくつ。

ところで、日本人としてはGaucheを使いたいわけですよ。そこで、とりあえずあいさつからはじめてみた。

#!/usr/bin/gosh

(use gauche.charconv)
(use text.tree)
(use text.html-lite)
(use www.cgi)

(define (main args)
(write-tree
`(,(cgi-header)
,(html-doctype)
,(html:html
(html:head (html:title "jabber"))
(html:body
(html:p 4649)
(html:p "おはいよう")))
)))

一口メモ。Debian の gauche パッケージは UTF-8 でコンパイルされているので、スクリプトファイルもとうぜん UTF-8 で保存するわけだが、BOM(Byte Order Mark)付き UTF-8 だとバイナリファイルだと思われて実行されない。

2005/04/09

魚屋でニシンを2匹買ったら、白子と数の子が一匹ずつ入っていた幸せ。

あいかわらず花見客がうっとうしい谷中へビールを買いにいく途中、日暮里で空き地にセールスマンがいた。ずいぶん前から気になってた東南角地の公園脇の空き家が更地になってたんだけど、全区画建築条件付きの事実上建て売りだった。もう、こういう癒着はむかつくのでやめてくれませんか。間取りなんてのは二の次でもいいんだけどさあ、どうせ基礎工事のいいかげんな業者とか使われちゃうんだから、購入する方としてはたまらないんだよ。消費者の利益にならない仕事ばっかりいつまでもやってんじゃねえ。ばか。土地なんて限られたリソースなんだから、てめえらの泡銭だけに目を眩ませて無駄にすんな。

2005/04/07

父親が脳出血で入院したらしい。だいたい飲みすぎなんだと思う。この話でいちばんむかつくのは、ちょうど3月末に退職して保険が適用されるかどうか微妙というところだ。ちなみに2月には母親が入院してた。重なるもんなのね。

どうでもいいけど、今日の上野公園は特に酔っ払いだらけで気分がわるい。救急車も入ってた。ざまみろ。

2005/04/06

無性にDACがつくりたいので A DAC of the Klones! をベースに何か作ることにした。TDA1543を9Vで動作させるってとこが、たまらなくぐっとくる仕様。8パラにする馬鹿もいるらしい。しかし9Vで動作させる以上、発熱の関係からこういう無茶は無理。っていうか、じっさいパラレルにすればクロックは鈍るわけで、そのへんはどうなのよ。これはつまり、曇った音とゆがんだ音のどっちかを選択するって話なわけだが、はっきり言ってゆがみはプラスになり得る【断定】。にもかかわらず、なまぬるい音(≒曇った音)のほうをいい音だと勘違いしちゃう人は多い。

2005/04/05

高揚感は、アルコールよりも、むしろ環境に影響される。

それはそうとして、楽しいことはどうしてすぐに終ってしまうんだろう。

ぼのぼの

2005/04/04

昨日うちにきた KM は健康食品メーカーに再就職するらしい。で、しばらく前から飲んでいるサプリメントを見せたところ、ずいぶんと興味津々だった。実はしばらく前から鬱状態が軽減している気がしたんだけど、それがどうやら気のせいだけではなかったらしい。鬱の患者は脳内の不飽和脂肪酸のうちオメガ3が極端にすくないらしく、どうやら毎日のんでいるサプリメントにはオメガ3が含まれるflaxseed oil(亜麻仁油)が入ってるんだと。ふうん。

2005/04/03

久しぶりに友人 KM がきて、昼からビール。夜になってから出勤帰りの KS も呼んで、うちの冷蔵庫に 4 年間眠っていたドンペリ(ピンク)をついに開けた。この酒を飲むと、いつも、これから何かが始まるのではなく、長い惰性に終わりが到来した気分になる。今日、何が終わったのかは、ひみつ。
机の上のチューリップがしおれてた。

ところで PINK FLOYD の Live at Pompeii を途中まで見た。どうしてこの人たちがこんなにもバルトークに似ていることに今日まで気が付かなかったんだろう。それは、僕の世代にはこのバンドに対する時代性がないから。どんなものであれ古典に(不自由なまでの)思い入れを持てるということは、無駄に想像力がたくましいか、もしくは虚栄心が多いかだ。

2005/04/02

上野公園は桜で込んでいるけど、それ以上に異常だったのは園内の科学博物館だ。酔っ払いとHL派を押しのけて信じられない行列ができている。2~3日前から、平日にもかかわらず8:30に行列が形成され始めていて、ちょっと気になってたんだけど、今日その謎が判明した。どうやら恐竜がいるらしい。そういえば先週、なんか長いトラックがやたらに出入りしてたな。にしても、どうして2005年にもなって恐竜で人が動かせるのかは相変わらず疑問だ。子供は恐竜が好きだろうと断定して連れて行く両親がいるからなのか、それとも子供は恐竜を好きなのか。どっちでもいいや。
やる気が減衰する要因には2種類あると思うんだよね。一方は、別の方向への関心の流入。もう一方は、周囲からの電波。これって電子回路と似てない?