新宿でケーキの食べ邦題、発体験。可もなく不可もないものが好きなだけ食べられるという意味では興味深い。あと、となりの女性がものすごい勢いでサンドウィッチを頬張っていたのが興味深い。
ところで今日は荒川区川の手祭りでもあった。例年通り、何ともいえないいい雰囲気の行事だよなあ。
▼
2005/04/29
2005/04/28
キーボードは Happy Hacking Keybord Lite(2じゃないほう)と決めて、はや数年。4台をあちらこちらで使ってるけど、最近になって欠点が判明した。とくに前期に生産されたものに顕著なんだけど、本体が反りやすい。おかげで、打鍵のたびに微妙にカタカタいう。足が一本だけ短いテーブルの上で文字を書いているときと同じイライラ感。原因は、きっと背面の硬質プラスチック成型の難だろう。あらためて見るとタイ製と書いてある。
むかし、プラスチック製品の製造にかかわったことがある。実は、プラスチックの射出成型は想像するほど簡単じゃない。つまり、機械まかせにしてポコポコと安易に量産できるようなものじゃない。気温や湿度が変わるだけでも射出時の圧力や温度を調整しなければならない。しかも、プラスチックの成型可能な温度には下限も上限もあるから、この調整が製品の質を左右する職人技になる。さらに職人になると、コンディションに応じて材料や可塑剤の配合まで(同じ商品を作るときでも)変えてくる。
プラスチック成型職人の職人たる所以は、実際の成型段階での技にとどまらない。よく考えれば当然だけど、金型の設計段階から彼らの技が効いてくる。まず、そもそもプラスチックをうまく流せるように金型を作る必要がある。プラスチックは金型へと射出した瞬間に冷えて流れにくくなるから、可能な金型の形状は自然と限られる。また、金型から取り出した製品は冷えて縮まるため、金型本体は出来上がり寸法より微妙に大きく作らなければならない。縮み率は材料によってずいぶん違う。完成品の外見に対する配慮も必要だ。材料の流し込み口はどうしても最後にランナーとして残ってしまうため、どこから材料を射出すれば製品の目立たない位置にランナーをもってこられるかも考慮する。透明なパーツともなれば、一切のムラも許されない。そのために金型の成型面へメッキを施すこともある。
そこで、プラスチックの性質を知りぬいた技師の意見を取り入れて金型職人が金型を彫り、それで試しに成型してみて、部分的に削りなおしたり肉盛りしたりしながら金型を調整する。だから、CADで設計したものを自動旋盤で彫るだけじゃまっとうな金型はできない。
自分がプラスチック成型にかかわったのは国内の射出製造業者と金型業者だった。そして、彼らの職人技は、一言でいうとすごかった。びっくりした。これぞプロフェッショナル。しかも気負わない。
はて、何がいいたかったんだろう。
むかし、プラスチック製品の製造にかかわったことがある。実は、プラスチックの射出成型は想像するほど簡単じゃない。つまり、機械まかせにしてポコポコと安易に量産できるようなものじゃない。気温や湿度が変わるだけでも射出時の圧力や温度を調整しなければならない。しかも、プラスチックの成型可能な温度には下限も上限もあるから、この調整が製品の質を左右する職人技になる。さらに職人になると、コンディションに応じて材料や可塑剤の配合まで(同じ商品を作るときでも)変えてくる。
プラスチック成型職人の職人たる所以は、実際の成型段階での技にとどまらない。よく考えれば当然だけど、金型の設計段階から彼らの技が効いてくる。まず、そもそもプラスチックをうまく流せるように金型を作る必要がある。プラスチックは金型へと射出した瞬間に冷えて流れにくくなるから、可能な金型の形状は自然と限られる。また、金型から取り出した製品は冷えて縮まるため、金型本体は出来上がり寸法より微妙に大きく作らなければならない。縮み率は材料によってずいぶん違う。完成品の外見に対する配慮も必要だ。材料の流し込み口はどうしても最後にランナーとして残ってしまうため、どこから材料を射出すれば製品の目立たない位置にランナーをもってこられるかも考慮する。透明なパーツともなれば、一切のムラも許されない。そのために金型の成型面へメッキを施すこともある。
そこで、プラスチックの性質を知りぬいた技師の意見を取り入れて金型職人が金型を彫り、それで試しに成型してみて、部分的に削りなおしたり肉盛りしたりしながら金型を調整する。だから、CADで設計したものを自動旋盤で彫るだけじゃまっとうな金型はできない。
自分がプラスチック成型にかかわったのは国内の射出製造業者と金型業者だった。そして、彼らの職人技は、一言でいうとすごかった。びっくりした。これぞプロフェッショナル。しかも気負わない。
はて、何がいいたかったんだろう。
2005/04/27
Haskell という不思議な名前は Curry Haskell さんにちなんだものだということを今さっき知った。Curry だって? Curry-Howard の同型定理の Curry?
Curry-Howard
つまり、ここ数年間、同じところを回ってたってわけか。楕円軌道だったけど。
Curry-Howard
つまり、ここ数年間、同じところを回ってたってわけか。楕円軌道だったけど。
2005/04/26
2005/04/25
2005/04/24
2005/04/23
2005/04/21
2005/04/20
名前つきletの2重化という知恵をいただいたので、代入を葬ることができました。条件式も少し整理したので、これで少しはかっこよくなったかな。
「test-int の除算チェックを √test-int までに制限」とかの工夫は、すぐにでも追加できそうな気がする。
(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みんなのうたで短期間だけ放映されていた「かにさん」という歌。どっちも、人生のしがなさが動物(またはカニ)の視点からえぐりだされていて、夢や希望をそぎおとされる感じ。こういうのを子どもに見せると、トラウマになるか、人生で大切なのは友情や努力なんだと勘違いするようになる。
全然関係ないけど(自分のなかでは関係ある)、ぼくがもう一度みたいのは「宇宙船サジタリウス」だったということが突然判明した。人生の事象は 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))))))
だいぶいい線にたどりついたんじゃないかな。
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
2005/04/12
2005/04/11
さすがに疲れた。眠っても眠っても眠い。しかしこんなところでとまっているわけにはいかない。かといって、行き先もない。っていうか待ち時間たいくつ。
ところで、日本人としてはGaucheを使いたいわけですよ。そこで、とりあえずあいさつからはじめてみた。
一口メモ。Debian の gauche パッケージは UTF-8 でコンパイルされているので、スクリプトファイルもとうぜん UTF-8 で保存するわけだが、BOM(Byte Order Mark)付き UTF-8 だとバイナリファイルだと思われて実行されない。
ところで、日本人としては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
2005/04/06
無性にDACがつくりたいので A DAC of the Klones! をベースに何か作ることにした。TDA1543を9Vで動作させるってとこが、たまらなくぐっとくる仕様。8パラにする馬鹿もいるらしい。しかし9Vで動作させる以上、発熱の関係からこういう無茶は無理。っていうか、じっさいパラレルにすればクロックは鈍るわけで、そのへんはどうなのよ。これはつまり、曇った音とゆがんだ音のどっちかを選択するって話なわけだが、はっきり言ってゆがみはプラスになり得る【断定】。にもかかわらず、なまぬるい音(≒曇った音)のほうをいい音だと勘違いしちゃう人は多い。