O HAI THIS BLOG PURPZIEZ 2 B UZED AZ MAH PLESIOUS MEM. :)

2010/04/09

me += (PU(1.1, 1.133) + PU(1.243, 1.272));

論考を読む目的で買ったブツの後半に哲学探究の一部がおまけであったので,最近,Xilinx ISE 11.5 on RHELの_pnのUI freezeの面倒を見つつソイツを読むと言うエア激務をしていた.以下,おもろかった部分を引用.
三七
〔中略〕わたくしが「ブウブウブウ」というコトバによって「雨が降らなければ散歩に出かける」ということを意味することができるだろうか.––一つの言語のうちにあってのみ,わたくしは何かを何かによって意味しうる.このことは明らかに,「意味する」という語の文法が「思いうかべる」等の表現の文法とは似ていないこと示している.

五二
もしわたくしが,ねずみというものは灰色のぼろや塵埃から自然発生するのだと仮定しようとしているのであるならば,ねずみはどのようにしてそのぼろの中に隠れることができたのかとか,どうしてその中へ入れたのかとかいったことがらについて,そのぼろを十分に研究することが有益であろう.しかし,もしわたくしが,ねずみはそうしたものから発生するわけがないと確信しているのであれば,そうした研究はおそらく余計なものになるであろう.
しかし,哲学の中でそのような個々の事象に関する考察に反対しているものが何なのか,われわれはまず理解することを学ばなくてはならない.

六〇
いま「わたくしのほうきがその隅のところにある」といったとすると,––これは本当にほうきの把手と掃き出し部分に関する言明なのだろうか.ともかくも,人はこの言明を,把手の位置と掃き出し部分の位置について述べる言明で置き換える事ができよう.そして,そのような言明は,今や最初の言明を更に分析した形になっている.〔中略〕––誰かに向かって「ほうきを持ってきてくれ」という代わりに––「把手とそれが差し込んである掃き出し部分を持ってきてくれ」といった場合を考えてみよ.––これに対する答えは,「あなたはほうきが欲しいのか.それなら,なぜそんな奇妙な表現をするのか.」ということではないだろうか.〔中略〕

六九
〔中略〕
誰かがわたくしに向かって,「子供たちに何かゲームを教えてやってくれ」と言う.わたくしはかれらにサイコロ賭博を教える.すると,その人は「そんなゲームを教えてくれといった覚えはない」という.かれがわたくしに命令を与えたとき,サイコロゲームを除外することが,かれの念頭に浮かぶべきだったのだろうか.

八五
ある規則が立てられているとして,それが道しるべのようなモノであったとせよ.それはわたくしの行くべき道に関して何ら疑問の余地を残さないものであろうか.それは,わたくしがその側を通りすぎたとき,自分がどの方向へ行くべきか,つまり,街路にそってか,野道にそってか,それとも野道を横切って行くのかを指示するだろうか.だが,どのような向きでわたくしがそれにしたがわねばならないのかが,どこかに書いてあるのだろうか.その指の方向へということなのか,それとも(たとえば)その反対方向へということなのか.––それらにはたった一つの解釈しかないのだろうか.––だから,わたくしは,道しるべというものはそれでも疑問の余地を残さない,ということができる.あるいはむしろ,あるときは疑問の余地を残し,あるときには残さない,といえよう.すると,これはもはや哲学的な命題ではなくて,経験命題である.

八八
わたくしが誰かに向かって「どこかこの辺りに立っていろ」というとき,この説明は十分にその機能を果たしていないだろうか.果たしているとすれば,その他のあらゆる説明もうまくいかないだろうか.
「けれども,その説明はまだ不正確なのではないか.」––その通りである.なぜ人はそれを「不正確」と呼んではいけないのだろうか.われわれはただ「不正確」ということがどういうことを意味しているかを理解しよう.なぜなら,それは「使用不能」ということではないのだから.さらにわれわれは,かような説明との対比において,どのようなものを「正確な」説明と呼んでいるのか,とくと考えてみよう.たとえば,一つの区域をチョークの線で区切ることか.だが,そこですぐ思いつくことは,その線に幅があるということである.それゆえ,もっと正確なのは色の境界ということであろう.だが,そのとき,この正確さはなおも機能を果たしているだろうか.実は空回りしているのではないか.しかも,われわれは,どういうことをかかる正確な境界からの逸脱とみなしていいのか,どのようにして,いかなる器具をもって,それが確立さるべきなのか,等のことをいまだに決定していないのである.
〔中略〕
「不正確」ということは,もともと非難さるべきことであり,「正確」ということは称讃さるべきことである.さらに,このことは,不正確なものは正確なものほど完全にその目的を達成しない,ということである.だから,そこで何をわれわれが「目的」と呼ぶかが問題になる.わたくしが太陽までの距離を一メートルまで正確に述べず,家具師に机の幅を〇・〇〇一ミリまで正確にいってやらないと,不正確ということになるのか.
正確さの理想像など一つも用意されていない.それをどのように考えていいのか,われわれは知らない.––もし自分自身でそう呼ばれるべきものを確定していない限りは.しかし,そのような規定,自分自身を満足させるような規定にゆきあたるのは,むずかしいことであろう.

一〇七
〔中略〕––われわれはなめらかな氷の上にまよいこんでいる.そこには摩擦がないから,諸々の条件はある意味で理想的なのだが,まさにそのために,われわれは先に進むことができない.われわれは前に進むことを欲する.だから摩擦が必要なのだ.きめの粗い大地へ戻れ.

一二三
哲学の問題は,「わたくしは途方にくれている」という形をとる.

一二六
哲学は,まさにすべてのことに言及するのみ.何事も説明せず,何事も結論しない.––すべてが公然としているから,説明すべきこともない.なぜなら,隠れているかもしれないようなものに,われわれは興味をもたないからである.
およそ新しい発見や発明がなされる以前に可能なものをも,人は「哲学」と呼ぶことができよう.

二四九
なぜイヌは痛がっているふりをすることができないのか.誠実でありすぎるからか.イヌに痛がっているふりをすることを教えることはできるだろうか.おそらく特定の状況の下では,痛みを感じていないのに痛がっているようななき声を出すよう,教えることができるだろう.しかし,本当の偽装であるためには,この振舞いにはなお正当な周囲の条件が欠けている.

二五八
次のような場合を考えてみよう.わたくしはある種の感覚がくり返し起こることについて日記をつけたいと思っている.そのためにわたくしはその感覚を「E」という記号に結びつけ,自分がその感覚をもった日には必ずこの記号をカレンダーに書き込む.––まず第一に,わたくしは,この記号の定義を述べることができないことに気がつく.〔中略〕

二七〇
さて,自分の日記に「E」という記号を記入することの用途について考えてみよう.わたくしは次のような経験をする.すなわち,わたくしが一定の感覚をもつとき,血圧計がわたくしの血圧の上昇を示す.すると,わたくしは,器械の助けがなくても自分の血圧の上昇を明言することができるようになる.これは有益な結果である.そうすると,わたくしがその感覚を正しく再認したかどうかということは,もはや全くどちらでもよいことのようであるようにみえる.わたくしがたえずそれらの感覚の認定を間違えると仮定しても,一向に構わない.そして,このことは,こうした誤りを仮定することが単なる見せかけにすぎなかったことを既に示している.(われわれは,いわば,機械を動かすことができるかに見えるボタンをまわしたのだが,それは実は装飾品だったのであり,それと機械の機構は全然つながっていなかったのである.)
すると,この場合,どういう根拠によって,「E」がある感覚を指示しているというのか.おそらく,この記号が言語ゲームの中で用いられる方法によってであろう.––では,なぜ「一定の感覚」,つまり,そのたびに同じ感覚でなくてはならないのか.いや,われわれはそのたびに「E」と書く,と仮定しているのである.
哲学探究はヴィトゲンシュタインせんせーの後期思想と言われるモノらしいのだけれど,話題が日常に近いとかってのにも加えて,あいかわらず電波的と言うか,イイ感じにぶっ飛んでいるのでなかなか笑える. :DDD

個人的に付け加えておきたいのは,こーゆー思想の変遷を見て,単純に「じゃあ小難しく考える事ぁ無ぇじゃねぇかよ」と文句を言うのは見当違いだと思う.カントが人倫の形而上学の基礎づけでそーゆー輩を皮肉ってる言い回しはウマい.
通俗概念へのこのような下降は,純粋理性の原理への上昇がまず行われて申し分なく達成された後であれば,実際きわめて讃むべきことである.いいかえれば,道徳論をまず形而上学によって基礎づけ,かくて道徳論を確立した上で,それに通俗性を与えて人々に近づきやすくすることは,結構なことなのである.しかし,原則の正しさの一切がかかっている最初の研究においてすでに通俗性にすすんで心がけようとすることはきわめて不当である.ひとが根本的な知見をすべて断念するなら,誰にもわかるようにのべることは全く造作のなくできるのだから,はじめから通俗性を心がけるやり方は,真の哲学的通俗性というきわめてまれな長所をみずからのものだと主張することは決してできない.のみならず,そういうやり方は,寄せ集めの観察となまはんかな議論の原理との,厭なごた混ぜを生み出すのであり,これは確かに日常のおしゃべりには大いに役立つものを含むから,浅い考えの人々には喜ばれるが,物のわかった人々はそれに困惑し,不満ながらどうしてよいかわからずにそれから目をそむけてしまうのである.これにひきかえ,まやかしを十分見ぬいている哲学者たちは,見せかけの通俗性をしばらく離れてまずはっきりした知見を得た後にはじめて正しい意味で通俗的であることができるのだ,と人々に呼びかけるのだが,これに耳をかす者はほとんどいないのである.
とっても1337ishです,ウケる. :DDD

修正:若干のtypos.

2010/04/06

MeasureSLOC(&LMS); /* 2010/03 */

3月分のdiffstat.
bench/BENCH_CALCULATE_SNR_SINR.vhd |    4 
 bench/BENCH_LMS.vhd                | 2083 +++++++++++++++++++++++++++++++++++++
 bench/BENCH_LMS_LX.vhd             | 1337 +++++++++++++++++++++++
 bench/BENCH_LVDS.vhd               |  385 +++++-
 bench/BENCH_S4LLR.vhd              |   67 +
 bench/BENCH_S5LDPCD.vhd            |   50 
 bench/LMS_LX1.vhd                  |  601 ++++++++++
 bench/LMS_LX2.vhd                  |  601 ++++++++++
 bench/LMS_LX3.vhd                  |  601 ++++++++++
 bench/METABENCH_LMS.vhd            |  125 ++
 bench/METABENCH_LMS_LX.vhd         |  167 ++
 vhdl/AANORM.vhd                    |  395 +++++++
 vhdl/ACB.vhd                       |   14 
 vhdl/ACN.vhd                       |   37 
 vhdl/ACW.vhd                       |   14 
 vhdl/AFIFO.vhd                     |   27 
 vhdl/COMMON_TYPE_PKG.vhd           |    8 
 vhdl/EXCHANGE_LX1_F4J2.vhd         |  263 ++++
 vhdl/EXCHANGE_LX2_F4J1.vhd         |  263 ++++
 vhdl/EXPORT_LVDS.vhd               |   12 
 vhdl/EXPORT_LX1_F3J2.vhd           |  134 +-
 vhdl/EXPORT_LX4_F3J1.vhd           |    6 
 vhdl/EXPORT_LX4_F4J1.vhd           |    6 
 vhdl/IMPORT_LVDS.vhd               |   58 -
 vhdl/IMPORT_LX1_F1J6.vhd           |   18 
 vhdl/IMPORT_LX1_F2J4.vhd           |   18 
 vhdl/IMPORT_LX2_F3J1.vhd           |  137 +-
 vhdl/ISQRT.vhd                     |  738 +++++++++++++
 vhdl/IWSRFA.vhd                    |  202 ++-
 vhdl/LDPCD.vhd                     |    8 
 vhdl/LMS_DCM.vhd                   |   17 
 vhdl/LMS_FORMER.vhd                |  629 ++++-------
 vhdl/LMS_LATTER.vhd                |  413 ++-----
 vhdl/LMS_LX1_FPGA1.vhd             |  204 ++-
 vhdl/LMS_LX1_FPGA2.vhd             |  298 ++++-
 vhdl/LMS_LX1_FPGA3.vhd             |  146 ++
 vhdl/LMS_LX1_FPGA4.vhd             |  264 ++--
 vhdl/LMS_LX2_FPGA1.vhd             |  643 +++++++++++
 vhdl/LMS_LX2_FPGA2.vhd             |  964 +++++++++++++++++
 vhdl/LMS_LX2_FPGA3.vhd             | 1002 +++++++++++++++++
 vhdl/LMS_LX2_FPGA4.vhd             | 1090 +++++++++++++++++++
 vhdl/LMS_LX3_FPGA1.vhd             |  211 +++
 vhdl/LMS_LX3_FPGA2.vhd             |  340 ++++++
 vhdl/LMS_LX3_FPGA3.vhd             |  163 ++
 vhdl/LMS_LX3_FPGA4.vhd             |  136 ++
 vhdl/LMS_LX_FEBE.vhd               |   95 +
 vhdl/S4LLR.vhd                     |   62 -
 vhdl/S5LDPCD.vhd                   |   16 
 vhdl/SB_MASTER.vhd                 |   17 
 vhdl/SCB.vhd                       |   14 
 vhdl/SCN.vhd                       |   31 
 vhdl/SCW.vhd                       |   14 
 vhdl/SFIFO.vhd                     |   13 
 vhdl/WSX_LFSR.vhd                  |  412 +++++++
 54 files changed, 14272 insertions(+), 1301 deletions(-)
synthesizableなブツとしての大物としては,先々月分から追加した1ボード分のtop wrapperにあたるvhdl/LMS_LX2_FPGA{1,2,3,4}.vhdだな.合計で4kLOC以下に抑えられたみたい.つーか,相変わらず,テストベンチがデカ過ぎる. :DDD

ブツは4月に入ってからもチョコチョコ直してるのので,何気にもう少しかかりそうな臭い.つーか,別の人に作ってもらっている接続対象の前段と後段があるんだが,インターフェイスまわりのコードに限らず,スタイルがうんこで泣ける.よいこのみんな!インデントがハードタブだのソフトタブだのはこの際どうでもいいから,せめて行末の謎の空白とかタブだけの空行とかは消しとこうぜ!!1 :P

2010/04/01

if(!(!p) == p) { ... }

  ボブ「やぁ,ジョニー,聞いてくれよ.」
ジョニー「なんだい,ボブ?」
  ボブ「4/1は何の日か知ってるかい?」
ジョニー「ああ,もちろん!嘘祭り,エイプリルフールだね?」
  ボブ「そうそう.」
ジョニー「で,何かネタは仕込んだかい?」
  ボブ「ネタは思いついたんだけど,どうにもウマい展開が出来なくてさ.」
ジョニー「へぇ,どんなネタだい?」
  ボブ「ある意味,エイプリルフールなら嘘の一つくらいはつくのがマナーみたいなモンだろ?」
ジョニー「そうだねぇ.」
  ボブ「そこでさ,『今日,私は嘘をつきません』とか言うネタなんだ.」
ジョニー「ああ,なるほど.嘘つきのパラドクスってヤツだね.」
  ボブ「そうそう.でも,一発ネタで終わり,続かないんだよね.」
ジョニー「そうかい?かなり引っ張れるネタだと思うけど?」
  ボブ「え?そうかい?」
ジョニー「じゃあ,ボクが使ってイイかい?」
  ボブ「ああ,構わないよ」

ジョニー「さぁ,ボクの言う事を注意して聞くんだよ,ボブ.これからボクが言おうとしている事はとてつもない質問だから.」
  ボブ「任せてくれよ,ジョニー.そう簡単にボクは騙されないさ!」
ジョニー「ボクはたった今,何と言ったけ?」
  ボブ「キミはこう言ったよ!『これからボクが言おうとしている事はとてつもない質問だから.』」
ジョニー「じゃあ,キミはボクの言った事が分かったんだね?」
  ボブ「もちろんさ!キミの注意はボクに言った質問についてだね.」
ジョニー「で,ボクが注意したボクの質問は何だった?」
  ボブ「ん?キミの質問?…ああ,キミの質問はこうだったね.『ボクはたった今,何と言ったけ?』」
ジョニー「で,キミが今,反芻したボクの質問の意味が分かった?」
  ボブ「うん.だって,キミがハジメに訊いた時,ボクは正しく答えたじゃない.」
ジョニー「うん.キミはこれがとてつもない質問だったと思うかい?」
  ボブ「いーや.フツーじゃない?」
ジョニー「でもね,ボクの質問は意味が無くて理解出来ない質問だと顔を真っ赤にして怒るヒトタチも居たんだよ.」
  ボブ「何でそのヒトタチはキミの質問に意味が無いなんて怒るんだい?」
ジョニー「ボクの質問が間接的に自己言及しているからさ.」
  ボブ「キミの質問はついさっきキミが注意した事について言っているだけだよね?」
ジョニー「で,ボクの注意は何について言ったのかな?」
  ボブ「おおぅ.キミの注意はキミの質問について言っていて,キミの質問はキミの注意について言ったんだ!」
ジョニー「でも,キミはボクの注意も質問も分かったんだろう?」
  ボブ「そうさ!そんな簡単にボクは騙されないよ!」
ジョニー「つまりさ,間接的な自己言及は意味が有ったって事にならない?」
  ボブ「そうだね.」
ジョニー「これ,トンデモナイ事だと思わない?」
  ボブ「フツーでしょ?何でこんなネタで引っ張れるのか不思議だよ,ボクは.」
ジョニー「ボクを怒るヒトタチはね,『嘘つきのパラドクスはありえない.何故なら,有意味で適切に構成された言明は自己言及出来ないから』と言うんだ.」
  ボブ「嘘つきのパラドクスってさ,なんか騙された気がするからそんなの有り得ねぇと切り捨てるのは手っ取り早いね.」
ジョニー「だけど,間接的な自己言及を許したら嘘つきのパラドクスは始末出来ないよ?」
  ボブ「え?ちょっとやってみてくれないかい?」
ジョニー「ボクがしようとしている次の主張は真である.」
  ボブ「ジョニー,キミはいつも本当の事を言っているじゃないか.」
ジョニー「ボクの先の主張は真ではない.」
  ボブ「おおぅ,前言撤回かい?誰にでも間違いはあるよね,ボクは優しいから許してあげるさ.…あれ?」
ジョニー「間接的な自己言及による嘘つきのパラドクスの出来上がりだね.」

  ボブ「…ジョニー,ボクはイイコトを思いついたよ.」
ジョニー「なんだい?」
  ボブ「パラドクスの引き金になる自己言及ってさ,フツーにありふれたモノだし,言われて頭がパンクするほど悩む事でもないよね?」
ジョニー「おやおや,降参かい?」
  ボブ「いやいや,メンドイからってポ〜イした訳じゃないよ.」
ジョニー「どう言う事だい?」
  ボブ「つまりさ,本当と嘘,それと本当か嘘か判断しようのないコトがあるんじゃないかって.」
ジョニー「有意味と無意味.有意味な方は真か偽のどちらかで,無意味な方はどちらか分からないって事かい?」
  ボブ「そうそう.コレで逝けるんじゃないかな?」
ジョニー「ボブ,残念ながらそれでもダメでござるよ.」
  ボブ「おいおい,ジョニー,いきなりそいつぁいただけないな.説明してくれたまへ.」
ジョニー「この三つの分類だとね,パラドクスの場所が移動するだけでパラドクスそのものは始末出来ないよ.」
  ボブ「ほうほう,続けてくれたまへ.」
ジョニー「uが『uは偽である』と言う言明そのものの名称であるとした場合はいつ何時でも『uは偽である』と言う言明は無意味だ,と誰かさんが証明したとしよう.」
  ボブ「つまり,嘘つきのパラドクス自体はその天才の誰かさんが無意味だと証明してくれたモノとする訳だね?」
ジョニー「そうそう.でもね,この仮定に従ってキミの提案を受け入れると,uには意味があると反論出来るのさ.」
  ボブ「え?ヒントをくれない?」

「『xは無意味である』が真」ならば「『xは真である』は偽」…(1)
「『xは無意味である』が真」ならば「『xは偽である』は偽」…(2)
「yが偽」ならば「yは有意味」…(3)
「『uは無意味である』が真」ならば「『uは偽である』は偽」…(4)
「『uは偽である』が偽」ならば「『uは偽である』は有意味」…(5)
「『uは偽である』は有意味」ならば「uは有意味」…(6)

ジョニー「ボブ,この思考は追っていけるかい?」
  ボブ「やってみるよ!」
ジョニー「では,がむばってくれたまへ.」
  ボブ「(1)に現れるxは何かテキトーなトンチンカン発言だと考えればいいね.」
ジョニー「そうそう.」
  ボブ「無意味って言う分類はもともとボクが言い出したカテゴリーだから,こう言うxが存在しないって事は無い.」
ジョニー「うんうん.」
  ボブ「xはトンチンカン発言だから,xは本当のコトと言うのは嘘.これが(1).」
ジョニー「じゃあ,(2)は?」
  ボブ「(1)と殆どおなじさ.xはトンチンカン発言だから,xが嘘と言うのは嘘.」
ジョニー「お次は(3)だよ!」
  ボブ「コイツは簡単だ.yは何かテキトーな嘘っぱち発言だと考えればいいね.」
ジョニー「そうそう.」
  ボブ「yは嘘っぱちだと判明しているので,yには意味がある.これが(3).」
ジョニー「(4)の"ならば"の前にあるのは,天才の誰かさんが証明しくれたから本当のコトだと考えると言う意味だよ!」
  ボブ「ACK.で,それにも関わらずそれが嘘っぱちだと噛み付いた愚か者の発言こそ嘘っぱちだったと言う訳だね.そう言えば,これは(2)と同じ形だね.」
ジョニー「そうそう.」
  ボブ「(5)は(3)と同じ形をしているね?」
ジョニー「うん.(5)の"ならば"の後ろは(6)の"ならば"の前と同じだよ!」
  ボブ「ふむふむ.そんでもって『uは偽である』はuそのものだったから(6)の"ならば"の後ろが…ありゃ?」
ジョニー「で,uってそもそも何だったけ?」
  ボブ「uは自分自身を否定する自己言及でございました.」
ジョニー「uは意味があるんだって結論だね.」
  ボブ「なんてこった!嘘つき野郎をテメェは無意味だと渾身のドロップキックをかましたのに!」
ジョニー「リングのロープで跳ね返って来て奴のフライングエルボーを喰らったね.」

  ボブ「で,ジョニー.結局,コレはなんとかならないの?」
ジョニー「とっても簡単な方法があるよ.」
  ボブ「へぇ,どうすればいいんだい?」
ジョニー「さっき,キミが言った様にフツーにしてればいいのさ.」
  ボブ「へ?」
ジョニー「つまりさ,こう言う類いのパラドクスにハマらない様に気をつけて,それ以上はウジウジ悩まないってコト.」
  ボブ「そんなんでいいの?」
ジョニー「フツーの言語をフツーの目的に使うなら十分だし,安全だよ.」
  ボブ「むしろ不安になるよ.」
ジョニー「少なくとも,フツーなボクらはこれ以外のコトは何も出来ないさ.」
  ボブ「まぁ,そうか.最初にキミがボクを試した様に自己言及やら嘘つきのパラドクスやらは簡単に作れるしね.」
ジョニー「そして,キミもボクもそーゆー言明でも分かった様に振る舞えるからね.」
  ボブ「でもさ,こーゆーフツーの態度こそあるべき姿って気はするよ.」
ジョニー「結局さ.気が狂った様に嘘か真か問い詰めるのも,都合の悪いモノを無意味だと切り捨てるのもあんまりイイ傾向じゃないよね?」
  ボブ「だからって,何もかも本当か嘘か分からないまま放置プレイするのもあんまりイイ傾向じゃないよね?」
ジョニー「でさ,オタクってさ,この二つの傾向がフツーの人と逆なんじゃないかと思うんだけど,どう思う?」
  ボブ「ソイツはノーコメントとさせて頂くよ!」

2010/03/02

MeasureSLOC(&LMS); /* 2010/02 */

2月分のdiffstat.
bench/BENCH_CALCULATE_SNR_SINR.vhd |    6 
bench/BENCH_LVDS.vhd               |  485 ++++++------
bench/BENCH_S1p2SIC.vhd            |    4 
bench/BENCH_S4LLR.vhd              |  124 ++-
bench/BENCH_S5LDPCD.vhd            |  110 ++
bench/BENCH_S7RIE.vhd              |   14 
bench/METABENCH_S4LLR.vhd          |  122 +++
bench/METABENCH_S5LDPCD.vhd        |  122 +++
bench/METABENCH_S7RIE.vhd          |   26 
vhdl/ACB.vhd                       |   63 +
vhdl/ACN.vhd                       |   89 +-
vhdl/ACW.vhd                       |   64 +
vhdl/CALCULATE_SINR.vhd            |  111 +-
vhdl/CALCULATE_SNR.vhd             |  173 ++--
vhdl/CLTUNE.vhd                    |   45 -
vhdl/COMMON_TYPE_PKG.vhd           |   50 +
vhdl/CSSSTM.vhd                    |  276 -------
vhdl/DIVSR_RR.vhd                  |    4 
vhdl/EDGE_DELAY.vhd                |  163 ++++
vhdl/ESTIMATE_NOISE.vhd            |    4 
vhdl/EXPORT_F3J1.vhd               |  154 ----
vhdl/EXPORT_F4J1.vhd               |  155 ----
vhdl/EXPORT_LVDS.vhd               |  108 ++
vhdl/EXPORT_LX1_F3J2.vhd           |  162 ++++
vhdl/EXPORT_LX4_F3J1.vhd           |  176 ++++
vhdl/EXPORT_LX4_F4J1.vhd           |  177 ++++
vhdl/GSSSTM.vhd                    |  494 +++++++++++++
vhdl/IMPORT_F1J6.vhd               |  149 ---
vhdl/IMPORT_F2J4.vhd               |  148 ---
vhdl/IMPORT_LVDS.vhd               |  118 ++-
vhdl/IMPORT_LX1_F1J6.vhd           |  172 ++++
vhdl/IMPORT_LX1_F2J4.vhd           |  171 ++++
vhdl/IMPORT_LX2_F3J1.vhd           |  167 ++++
vhdl/IWSRFA.vhd                    |  624 ++++++++++++++++
vhdl/LDPCD-stub.vhd                |   96 --
vhdl/LDPCD.vhd                     |  166 ++--
vhdl/LMS_DCM.vhd                   |  216 +++++
vhdl/LMS_FORMER.vhd                | 1370 ++++++++++++++++++++++++++++++++++++
vhdl/LMS_LATTER.vhd                |  935 ++++++++++++++++++++++++
vhdl/LMS_LX1_FPGA1.vhd             | 1203 +++++++++++++++++++++++++++++++
vhdl/LMS_LX1_FPGA2.vhd             | 1404 +++++++++++++++++++++++++++++++++++++
vhdl/LMS_LX1_FPGA3.vhd             |  953 +++++++++++++++++++++++++
vhdl/LMS_LX1_FPGA4.vhd             |  727 +++++++++++++++++++
vhdl/LMS_LX3_FPGA1.vhd             |  194 +++++
vhdl/LMS_LX3_FPGA2.vhd             |  314 ++++++++
vhdl/LMS_LX3_FPGA3.vhd             |  148 +++
vhdl/LMS_LX3_FPGA4.vhd             |  119 +++
vhdl/LMS_LX_FEBE.vhd               |  841 ++++++++++++++++++++++
vhdl/PP2RIE.vhd                    |   10 
vhdl/RSTSTM.vhd                    |  213 +++++
vhdl/S0SNR.vhd                     |  398 +++++-----
vhdl/S1WINV.vhd                    |    8 
vhdl/S1p2SIC.vhd                   |   84 +-
vhdl/S3SINR.vhd                    |  286 +++----
vhdl/S4LLR.vhd                     |  100 +-
vhdl/S5LDPCD.vhd                   |  120 ++-
vhdl/S7RIE.vhd                     |   10 
vhdl/SB_MASTER.vhd                 |  783 ++++++++++++++++++++
vhdl/SB_SLAVE.vhd                  |  384 ++++++++++
vhdl/SCB.vhd                       |   59 +
vhdl/SCN.vhd                       |   73 +
vhdl/SCW.vhd                       |   60 +
vhdl/UMA_IN_SYMBOL.vhd             |   10 
vhdl/UMA_OUT_SYMBOL.vhd            |   11 
64 files changed, 14207 insertions(+), 2118 deletions(-)
ステージ化したブツのwrapperにあたるvhdl/LMS_{FORMER,LATTER}とFPGAのtop wrapperにあたるvhdl/LMS_LX1_FPGA{1,2,3,4}.vhdが無駄にデカい.vhdl/LMS_LX3_FPGA{1,2,3,4}.vhdもFPGAのtop wrapperなんだけど,使わないので中身は空っぽで小さい.

上位デザインに行くに従ってSLOCが増大する原因の一端は,entityやcomponentにオレオレrecord typeを持ってくるのがなんとなく嫌なのでportの抽象化が甘いから.自分でもinstanceをwrapする度にメンドクサさが倍増しているのを感じているんだが,どうにかしたいと思いつつ放置プレイしとる.

もう1ボード分のtop wrapperにあたるvhdl/LMS_LX2_FPGA{1,2,3,4}.vhdを書けば一通り終わりでござる. :D

2010/02/28

migrate2KMS(&nouveau); /* again */

  ボブ「やあ,ジョニー,聞いてくれよ.」
ジョニー「なんだい,ボブ」
  ボブ「最近,nouveauがmain kernel入りしてイケてるじゃん?」
ジョニー「2.6.33でDRMがmergeされたって話だね.」
  ボブ「そうそう」
ジョニー「nouveaufbがKMS centricになったって話も聞いたよ?」
  ボブ「うん,それでちょっと前に試してみたんだけど,やっぱりぶっ壊れてたんだ.」
ジョニー「ああ,そう言えば君はppc32だったね.」
  ボブ「うん,x86が嫌いだからね.」
ジョニー「なるほど,多分offbがdestroy出来なかったのが原因だね.」
  ボブ「そうなんだ,offbのトコにdestroyが追加されたんだ.」
ジョニー「じゃあ,offb - nouveaufb間のハンドオフが出来る様になるハズだから...」
  ボブ「うん,もう一回試そうかと思ってさ.」
ジョニー「なるほど,ぶっ壊れるのを恐れずにまたも果敢に挑戦する訳だね?」
  ボブ「もちろん,ricerだからね!」

ジョニー「まずはkernelを更新しようか.」
  ボブ「どれが良いかな?」
ジョニー「2.6.33ベースのモノならどれでもイイと思うな.」
  ボブ「じゃあ,手堅くsys-kernel/gentoo-sources-2.6.33にしよう.」

$ emerge =sys-kernel/gentoo-sources-2.6.33

ジョニー「kernelをbuildしておかないとDRM moduleがbuild出来ないから先に片付けてしまおう」
  ボブ「そう言えば,知っているかい? eselect kernelで/usr/src/linuxのsymlinkが変更出来るんだぜ.」

$ eselect kernel linux-2.6.33-gentoo

ジョニー「でもこれってeselect profileに匹敵するくらい要らない機能じゃない? ln -sfとドコがちが...」
  ボブ「ソイツは言わないお約束さ! kernelをbuildするのはGentooらしくgenkernelを使おうか!」

$ genkernel \
--kernel-config=/etc/kernels/kernel-config-${ARCH}-$(uname -r) \
--menuconfig --makeopts=-j2 all

ジョニー「configには気をつけないとね.」
  ボブ「具体的には?」
ジョニー「x11-base/nouveau-drmの中のCONFIG_CHECKを参考にするれば良いと思うよ」
  ボブ「これはどう言う風に解釈するんだい?」
ジョニー「eclass/linux-info.eclassをみれば分かるよ.」
  ボブ「ああ,なるほど.!が付いているヤツはN,それ以外はYかMにすれば良いんだね?」
ジョニー「うん」

ジョニー「次はDRMだね.」
  ボブ「officialのx11-base/nouveau-drmでイイかい?」
ジョニー「なんだricerらしくないじゃないか.先っぽを使うに決まってるだろう?」
  ボブ「先っぽを使うとなんかメリットがあるの?」
ジョニー「x11-drivers/nouveau-firmwareが要らなくなるよ.runtimeでDRM module自身が生成してくれる.2.6.33ベースだと,多分この変更は入っていないのでconfigのやり直しになるよ?」
  ボブ「でもnouveau/linux-2.6をgit cloneするのはメンドくない?」
ジョニー「物好きが必要な部分だけhg repoにsnapshot作りながら,ebuildまで用意しているよ?」
  ボブ「じゃあ,コイツを使おう.」

$ emerge =x11-base/nouveau-drm-99999999-r1

ジョニー「忘れずに/etc/conf.d/modulesを更新しておこう.」
  ボブ「具体的には?」
ジョニー「最近はload-time orderはあんまり問題にならないケド,AGP,DRM,nouveauの順で追加すればイイと思うよ.」
  ボブ「ふむふむ.」
ジョニー「ああ,それからnouveau moduleはmodesetパラメータを持ってるんだ.」
  ボブ「なんだいそれは?」
ジョニー「1と0のどちらかを設定する事でKMSのon/offが出来るのさ.defaultではonだけどね.」
  ボブ「へぇ.」

ジョニー「最後にuserlandな野郎共を更新しよう.x11 overlayのlive ebuildを使うんだよ?」
  ボブ「わかってるさ.x11-proto関連も忘れずに,だね!」
ジョニー「それからmedia-libs/mesaはGallium3D capable(USE="gallium")にしてVIDEO_CARDS="nouveau"だよ.念の為,x11-base/xorg-serverとx11-drivers/*もremergeしておくとイイと思うよ.」
  ボブ「FULL ACK!」

$ emerge \
=x11-proto/dri2proto-9999 \
=x11-proto/glproto-9999 \
=x11-proto/xf86driproto-9999 \
=x11-libs/libdrm-9999 \
=media-libs/mesa-9999 \
x11-base/xorg-server \
$(qlist -I -C x11-drivers/) \
=x11-drivers/xf86-video-nouveau-9999

ジョニー「live ebuildがコケたらどうするか覚えてる?」
  ボブ「勘でbisectして,EGIT_TREE経由でcommit revisionを指定だね?」
ジョニー「最近気付いたんだけど,EGIT_COMMIT経由でcommit revisionを指定してもイイみたい.」
  ボブ「まったく,gitはbad-designだから周りまでbad-designになって困るね.」

ジョニー「必要なら最後にboot loaderの設定ファイルを弄ってMBRとかに相当するモノを更新しよう.」
  ボブ「ボクの場合は/etc/yaboot.confの更新だね.」
ジョニー「sys-boot/yabootはsys-boot/liloと同じで設定ファイルを更新したらコマンドでboot partitionを弄らないといけないね.」
  ボブ「ボクは常にmkofbootとybinの合わせ技だね.-vでverboseにしながら.」

# mkofboot -v && ybin -v

ジョニー「そう言えば,GRUB2には移行しないのかい?」
  ボブ「そのうち試そうとは思ってるよ!」

ジョニー「よし,再起動だ!」
  ボブ「逝くぜ!」

# reboot

  ボブ「動いた!dmesg, Xorg.0.log, glxinfoまで完璧だ!」
ジョニー「まぁ,すごいのはupstream devsであって僕らじゃあないけどね.」
  ボブ「やっぱり,Gentooは最高だぜ!」

修正:若干のtypos.

2010/02/19

NetSurf / Framebuffer #3

最近,diffstat以外,まともに"てくにかる"な匂いがしないので,相変わらずぶっ壊れているnetsurfのFB FEでエアリハビリ的な事を行う事にした.

何時の間にかFB FEのコアがlibnsfbとかに分離してたので,svn coして野良ビルドで様子を伺いつつ,live ebuildをでっち上げて,更にnetsurfをsvn upして,適当にMakefile.configをでっち上げた後,あぶらかだぶらちちんぷいぷいごにょごにょもにょもして,make TARGET=framebufferすればOK. :D

チラ見したトコロ,bppやLE/BEの問題で色はぶっ飛んだままなんだけど,更にスクロールボタンをクリックしただけでSEGVすると言うbugを喰らったので,忘れない内にupstream devsを叩く. :P
2010/02/18 23:59:16 hiyuh
    hmm
2010/02/18 23:59:45 hiyuh
    nsfb-sdl is still br0ken?
2010/02/19 00:00:05 jmb
    how?
2010/02/19 00:01:57 mmu_man
    libcss ?
2010/02/19 00:02:26 hiyuh
    nope, press scroll-down button -> segv @ fb_browser_window_redraw
    line 331
2010/02/19 00:03:48 hiyuh
    http://dev.gentoo.gr.jp/~hiyuh/misc/nsfb-sdl-segv.jpg

2010/02/19 00:04:29 mmu_man
    gr.jp ? greek community in japan ? ;)
2010/02/19 00:05:00 jmb
    hiyuh: that's one for kyllikki, then
2010/02/19 00:06:12 hiyuh
    jmb: k
2010/02/19 00:06:57 hiyuh
    mmu_man: gr == group :p
2010/02/19 00:07:09 mmu_man
    ah ok
2010/02/19 00:07:14 mmu_man
    like teh .asso.fr maybe
2010/02/19 00:07:30 hiyuh
    yup
2010/02/19 00:09:58 kyllikki
    hiyuh: in head?
2010/02/19 00:11:25 hiyuh
    kyllikki: netsurf-r10069 + libnsfb-r9948
2010/02/19 00:15:14 hiyuh
    FYI http://dev.gentoo.gr.jp/~hiyuh/misc/nsfb-v.log
2010/02/19 00:15:15 kyllikki
    hmm
2010/02/19 00:16:25 kyllikki
    I will take a look
2010/02/19 00:16:33 hiyuh
    kthx
2010/02/19 00:18:51 hiyuh
    http://dev.gentoo.gr.jp/~hiyuh/misc/netsurf-r10071-DEJAVU_PATH.diff
2010/02/19 00:19:25 hiyuh
    hardcoded DEJAVU_PATH is not so good to me.
2010/02/19 00:20:18 jmb
    that really should be in Makefile.defaults
2010/02/19 00:20:25 jmb
    so you can override it in Makefile.config
2010/02/19 00:21:01 hiyuh
    I'd like to set default *.ttf in Makefile.config TBH
2010/02/19 00:21:24 hiyuh
    it's just quick and dirty
良い子の皆はfile pathをhardcodeしちゃダメだぞ! :D

2010/02/15

LpA * (7/7)

「論理哲学論考」を読み終わった.例によって大して理解していないと思うのだけれど,オレ的には六・四二からビミョーだった.最後の〆がカッコイイので引用しとこう. :D
哲学の正しい方法 『論理哲学論考』はいかに理解されねばならぬか

六・五三 哲学の正しい方法とは本来,次のごときものであろう.語られうるもの以外はなにも語らぬこと.ゆえに,自然科学の命題以外なにも語らぬこと.––そして他のひとが形而上学的なことがらを語ろうとするたびごとに,君は自分の命題の中で,ある全く意義をもたない記号を使っていると,指摘してやること.この方法はそのひとの意にそわないであろうし,かれは哲学を学んでいる気がしないであろうが,にもかかわらず,これこそが唯一の厳正な方法であると思われる.

六・五四 わたくしを理解する読者は,わたくしの書物を通りぬけ,その上に立ち,それを見下ろす高みに達したとき,ついにその無意味なことを悟るにいたる.まさにかかる方便によって,わたくしの書物は解明をおこなおうとする.(読者は,いうなれば,梯子を登りきったのちに,それを投げ捨てなければならない.)
読者はこの書物を乗り越えなければならない.そのときかれは,世界を正しく見るのだ.

七 語りえぬものについては,沈黙しなければならない.

以下,蝶意訳.

必要以上に喋りまくる事は決して正しいことではない.オレオレ主張をする輩には,手前の打っている高説はナンセンスであるとdisっても良い.当の本人は憤慨するだろうが,そんなに気にしなくて良い.

この様な姿勢を取るにせよ,あるいはそれを批判するにせよ,少なくとも一時は多くの事が無意味であると言うエア悟りの境地に達する.これより先に進む元気があるならば,それら全てをブン投げてハイパー頑張らねばならない.

漢は背中で語るのである. :D

修正:若干のtypo.

2010/02/02

MeasureSLOC(&LMS); /* 2010/01 */

今年最初のdiffstat.
bench/BENCH_CALCULATE_SNR_SINR.vhd |   50 -
 bench/BENCH_CLTUNE.vhd             |  108 ++
 bench/BENCH_DIVSR_RR.vhd           |   13 
 bench/BENCH_LVDS.vhd               |  374 +++++++
 bench/BENCH_S1IC.vhd               |  344 ++++---
 bench/BENCH_S1WCAL.vhd             |  926 ++++++++++++-------
 bench/BENCH_S1p2SIC.vhd            | 1755 +++++++++++++++++++++++++++++++++++++
 bench/BENCH_S2WFMA.vhd             |  456 ++++++---
 bench/METABENCH_S1WCAL.vhd         |  264 +++++
 bench/METABENCH_S1p2SIC.vhd        |  229 ++++
 vhdl/ABS2SR_C.vhd                  |   27 
 vhdl/ACB.vhd                       |   70 +
 vhdl/ACN.vhd                       |   63 +
 vhdl/ACW.vhd                       |   39 
 vhdl/ADDSR_RR.vhd                  |   23 
 vhdl/ADDSR_UU.vhd                  |   33 
 vhdl/AFIFO.vhd                     |   10 
 vhdl/CALCULATE_SINR.vhd            |   83 +
 vhdl/CALCULATE_SNR.vhd             |   94 +
 vhdl/CLTUNE.vhd                    |  322 ++++++
 vhdl/CSSSTM.vhd                    |   17 
 vhdl/DECIMATE_SYMBOL.vhd           |    8 
 vhdl/DIVSR_CR.vhd                  |   17 
 vhdl/DIVSR_RR.vhd                  |  106 +-
 vhdl/ESTIMATE_NOISE.vhd            |   28 
 vhdl/EXPORT_F3J1.vhd               |  154 +++
 vhdl/EXPORT_F4J1.vhd               |  155 +++
 vhdl/EXPORT_LVDS.vhd               |  230 ++++
 vhdl/EXTRACT_AC.vhd                |    8 
 vhdl/EXTRACT_DATA.vhd              |    8 
 vhdl/GRLB.vhd                      |  117 ++
 vhdl/HS_BUS.vhd                    |   10 
 vhdl/IMPORT_F1J6.vhd               |  149 +++
 vhdl/IMPORT_F2J4.vhd               |  148 +++
 vhdl/IMPORT_LVDS.vhd               |  216 ++++
 vhdl/LDPCD-stub.vhd                |   19 
 vhdl/LDPCD.vhd                     |   23 
 vhdl/LLR2PP.vhd                    |    8 
 vhdl/MULSR_CC.vhd                  |   37 
 vhdl/MULSR_CR.vhd                  |   87 +
 vhdl/MULSR_RR.vhd                  |    4 
 vhdl/MULSR_RRCONST.vhd             |    6 
 vhdl/MULSR_UU.vhd                  |   23 
 vhdl/MULSR_UUCONST.vhd             |    6 
 vhdl/NIBBLESW.vhd                  |  123 ++
 vhdl/NbySNR.vhd                    |   64 +
 vhdl/PP2RIE.vhd                    |   12 
 vhdl/PP2SRG.vhd                    |   18 
 vhdl/PSQUASH.vhd                   |    8 
 vhdl/ROUND.vhd                     |   38 
 vhdl/S0SNR.vhd                     |  398 ++++++++
 vhdl/S1IC.vhd                      |  151 ++-
 vhdl/S1WCAL.vhd                    |  272 +++--
 vhdl/S1WCCM.vhd                    |  110 +-
 vhdl/S1WCFA.vhd                    |  514 +++++++---
 vhdl/S1WCFB.vhd                    |  618 +++++++++----
 vhdl/S1WDET.vhd                    |  134 ++
 vhdl/S1WINV.vhd                    |  294 ++++--
 vhdl/S1p2SIC.vhd                   |  830 +++++++++++++++++
 vhdl/S2WFMA.vhd                    |  131 +-
 vhdl/S3SINR.vhd                    |  102 ++
 vhdl/S4LLR.vhd                     |   52 +
 vhdl/S5LDPCD.vhd                   |  145 ++-
 vhdl/S6PP.vhd                      |    9 
 vhdl/S7RIE.vhd                     |    9 
 vhdl/S7SRG.vhd                     |    7 
 vhdl/SCB.vhd                       |   19 
 vhdl/SCN.vhd                       |   19 
 vhdl/SCW.vhd                       |   21 
 vhdl/SFIFO.vhd                     |   10 
 vhdl/SRG2IC.vhd                    |  362 +++----
 vhdl/UMA_IN_SYMBOL.vhd             |    8 
 vhdl/UMA_OUT_SYMBOL.vhd            |    8 
 vhdl/WCCM.vhd                      |    6 
 vhdl/WFMA.vhd                      |  502 +++++++---
 vhdl/XDPRAM.vhd                    |    9 
76 files changed, 10080 insertions(+), 1790 deletions(-)
over 10kSLOCだった. :D

最近,入出力レイテンシの継承の極意を手に入れたので,幾つかのオレオレプリミティブにソイツを導入してみたら,ナカナカ良さ気でとても宜しい.まだ改善の余地はあるので,手早くtop wrapperをでっち上げてゴニョりたいトコロではある.

2010/01/17

LpA * (4.024/7)

「論理哲学論考」の4.024まで読んだ.つーか,本文の前のラッセルの解題...の前にある訳者による小伝がウケる. :DDD
ヴィトゲンシュタイン小伝

略

ヴィトゲンシュタインはケンブリッジ大学の講師になった.『論考』が公刊されて既に10年の歳月が流れ,しかもその間,かれは一切の学問的活動を自らに禁じていたことを思い合わせると,いかにムーアやラッセルらの強力な推輓があったとはいえ,これは異例のことに属する.しかし,ヴィトゲンシュタインは,大学に教職を得たことを,とくに名誉とも,また喜ぶべきこととも思っていなかった.むしろ彼はそれを有難迷惑に感じ,さらには自らの職業に嫌悪を示しさえしたのである.自分は大学の教師に適していない.これは彼が親しい友人にしばしば洩らす愚痴であった.

略

ヴィトゲンシュタインは週に二回,授業をおこなうことになった.最初のうちは大学の教室を使い,のちには自宅の部屋で授業を行った.一回は講義に,一回は自由討論にあてられていた.そして,ケンブリッジでの講義は,途中数回途切れたものの,結局,1947年まで続くことになる.

一口に講義といっても,彼の場合,ありきたりのものとはわけがちがった.まずヴィトゲンシュタインはノート,メモの類を一切用いない.講義は時として,学生が前回の講義をまとめることからはじまる.次にヴィトゲンシュタインが,自分の選んだテーマについて,日頃考えていること――おそらく,その講義のために一週間考え続けたであろうこと――を一語一語,反芻するような仕方で話しはじめる.やがて彼は突然,語を切り,学生の一人に向かって話しかける.この点について君の意見はどうか.その学生の答えをもとにし,ヴィトゲンシュタインが批判・検討することで,彼の講義が再会する.しばらくたつとふたたび出席者に対して質問の矢が放たれる…….

略

時には講義はうまく進行しない.提出された問題があまりに難解であるために,ヴィトゲンシュタイン自身が混乱し,とまどってしまう.そのような折り,彼は「ちょっと待ってください.考えてみます」といったまま,椅子の端に腰を下し,身をかがめて考え込むのである.彼の苦闘は10分も20分も続く.周囲に沈黙の領する中を,俺は阿呆だ,とか,君らはひどい教師をもったものさ,とか,今日はなんてとんまなんだ,といった呪詛の言葉が彼の口からときどき洩れる.目は一点を凝視し,顔は厳しく,そして生気にみちている.彼は何ものかを捉えんとするかのように手を動かし,時折り,激しい苦悶の表情をしめす.それは,かつてヴィトゲンシュタインが親しい友人に洩らした言葉を,如実に示す態度であった.「人間は,年じゅう,躓いたり転んだり,躓いたり転んだりしているものなのさ.やることはただ一つ,起きあがってもう一度歩きだそうとすることだ.すくなくともそれが,私の一生やらなければならないことさ.」

略

ヴィトゲンシュタインは,生涯,妻を娶らなかった.理由は分からない.家庭の暖さを愛してはいたが,にもかかわらず,たえず孤独と放浪――精神の放浪も含めて――への激しい憧憬に駆られていたこの荒野の狼は,「家庭」という狭い檻には堪えられぬことを,本能的にさとっていたのかもしれない.炉辺の幸福は,彼にとってはしょせん,見果てぬ夢にすぎなかったのであろう.

彼を慕う女子学生も少なくなかった.しかしヴィトゲンシュタインは,彼女らに目もくれなかった,という話である.ケンブリッジに留学していたマルコムがアメリカに帰国するとき(このとき彼はまだ独身であった),ヴィトゲンシュタインが餞とした言葉がある.「何をしようと勝手だが,女の哲学者と結婚することだけは,よした方がいいよ.」

略
教職に就きたい中毒みたいなのに罹っていて,学術関係の予算がどーとか,大学院の環境があーだとか言っているヤツは,彼より情熱的に講義をして,彼より信念を持って研究しとるんかねぇ?悪いが予算や環境の事で文句垂れているうちはワシにはそう見えんぜよ.

2010/01/10

TLUG: goto utopia; /* wrong */

TLUGのテクニカルミーティングに行ってきた.相変わらず英語が聞き取れずに,前半でのネタで大笑いした後,気絶してた. :DDD
爆笑してたネタと言うのは,/etc/X11/xorg.confをバックアップする事で管理する方針を取った場合にどうなっちまうのかと言うモノだった.確かこんな感じだった.
$ ls /etc/X11
xorg.conf
xorg.conf.20090109
xorg.conf.bak
xorg.conf.bak.2
xorg.conf.bak.bak
xorg.conf.bak.bak2
xorg.conf.old
xorg.conf.old.bak
xorg.conf.old.bak2
xorg.conf.old2
xorg.conf.older
xorg.conf.oldest
一人でクソウケた. :DDD

全然カンケー無いけど,最近発見した上祐史浩オフィシャルサイトが香ばしい.釣りネタとしてはちょうど良いので晒しておく.「宗教かよ!」とか思うかもしれないけど,オレは無宗教でその手の徳は積んでないので,ポパーせんせーに登場してもらおう. :D
反駁

略

第十八章 ユートピアと暴力

暴力を憎み,暴力を減少させるために,また,もしできるならば,暴力を人間生活から除去するために働くことを,自分たちの最も重要であると同時に最も望む課題の一つであると確信している人びとは多い.わたくしは暴力に対するこの様な願望に満ちた敵の一人である.

略

二人の人間が対立するのは,かれらが意見を異にするか,利害を異にするか,あるいはその両方であるかするからである.社会生活には,なんらかの仕方で決着をつけねばならない多くの種類の不一致がある.

略

だが,どのようにして決着をつけることができるのだろうか.とりうる方法は,たいていの場合,ただ二つしかない.すなわち,議論(仲裁機関––たとえば,ある種の国際裁判所––に付託される議論をも含めて)と暴力,という二つの方法である.あるいは,衝突しているのが異なる利害である場合には,とりうる二つの方法は,合理的な妥協か,さもなければ,一方の利害を粉砕しようとする企てか,のいずれかである.

わたくしが合理主義者という名で呼ぶのは,暴力によってではなく,議論によって,ある場合にはおそらく妥協によって,決着をつけようと努める人である.つまり,合理主義者とは,暴力によって,威嚇や脅迫によって,あるいは口のうまい宣伝によってさえ,他人を粉砕するのに成功するくらいなら,むしろ議論によって他人を納得させるのに失敗する方がましだ,と考える人なのである.

わたくしが合理的態度といっているものは,議論によって人間を納得させようとすることと,宣伝によって人間を説き伏せようとすることとの相違を考えてみるならば,よりいっそうよく理解できるであろう.

その相違は,議論を用いるか否かということに重点があるのではない.宣伝もまた,しばしば議論を用いるのである.また,その相違は,われわれの議論は反論の余地のないものであって,分別のある人間なら誰もがそう認めるにちがいない,というわれわれの確信にあるのでもない.むしろ,その差異は,互酬互譲の態度,つまり相手を納得させようとするだけでなく,もしかしたら自分は相手に納得させられてしまうかもしれないという心構えをもつことにある.わたくしが合理的態度と呼ぶものは,次のような表現で特徴づけることができよう.「わたくしは自分が正しいと思うが,しかし間違っているかもしれない.そして君が正しいのかもしれない.とにかく,それを討論しあおうではないか.なぜなら,討論しあうことによって,お互いが自分は正しいのだとただ言い張っているよりも,真の理解によりいっそう近づける見込みがあるからだ.」

略

社会生活において互いに相手と対処しあう時,この合理的態度を実際に行動に移す場合にのみ,はじめて暴力を避けることができる,とわたくしは信じている.これ以外の態度はすべて––たとえ穏やかな説得でもって他人に対処し,自分の所有を誇るすぐれた洞察力にもとづく議論や実例によって,また自分がその真理性を絶対的に確信している議論や実例で相手を納得させようとする一方的な試みでさえ––おそらく暴力を生み出すであろう.いかに多くの宗教戦争が愛と優しさを説く宗教のために闘われたかを,われわれの誰もが覚えている.また,永劫の地獄の業火から人びとを救おうとする正真正銘の親切心から,いかに多くの人間が生きながら火あぶりにされたかを,われわれはよく覚えている.
こんなん言った後で,ポパーせんせーはユートピア主義をパネェくらいにボコボコにすんだけど,長いので割愛. :D

件のイカす上祐のサイトには,一連のオウム関係の事件の総括やらの内に,彼のオレオレ宗教観点からの似た様な考察が書かれている部分があったので,「ふーん,へー,ほー」とか思った.

ちなみにですね,彼の文章からは大層な事を学んだ様な感じを受け手に与える影響が深読み出来るんですが,上に引用したポパーせんせーの本は,"たった"6500円です.私は中古で買ったので多分もっと安いけど,値段は忘れた.まぁ,ゔぃみょーなオレオレ主張に耳を傾けるよりはカタい本を読んだ方がオレには分かり易かった. :D

修正:若干のtypos.

2010/01/06

void resolve(time_t year) { ... }

あ(略

去年から読んでいたポパーの「推測と反駁」を年末年始の休みに読み終わって,ヴィトゲンシュタインの「論理哲学論考」を少し読み始めた.会社のオレの机には幾つか本が飾ってあるのだけれど,今はその中の一つになってる.イイ感じに意匠になって大変宜しい.年度末までシミュレーションの激しく重いブツが続きそうなので,仕事をしているフリをしてチョコチョコ読む気満々だったりするのだったのだった. :DDD

で,新年の抱負でも書きますかね,書いておけばやるかもしれないからな.あんま”てくにかる”な事を書いても釣りネタにならないので,カントのネタで逝こうと思ふ.

人倫の形而上学の基礎づけ

略

第一章 通常の道徳的理性認識から哲学的な道徳的理性認識への移り行き

われわれが無制限に善とみとめうるものとしては,この世界の内にもまた外にも,ただ善なる意志しか考えられない.理解力や機知や判断力やその他いろいろに呼ばれるところの精神の才能および勇気や果断や根気強さなどという,気質の持つ特質は,確かに多くの点で善なるものであり望ましいものである.しかしそれらは,またきわめて悪いものや有害なものにもなりうる.すなわち,それら自然の賜物を使用する任務を持つ意志——したがって意志の固有の性質は(才能や気質を別にして)性格と呼ばれる——が,善でない場合である.

略

いくつかの性質は,この善なる意志そのものを力づけて善なる意志の仕事を大いに容易にすることさえもできるが,しかしそれにもかかわらず,内的な無条件な価値を決してもたず,善なる意志をどこまでも前提にするのである.善なる意志は,そのような性質に対して当然人々が抱くところの尊重の念に制限を加え,そのような性質を絶対的に善なるものと認めることを許さない.たとえば,感動や欲情の抑制,自制,冷静な考慮は,さまざまな点で善であるのみならず,人格の内的価値の一部を形成する様にさえみえる.しかしながら,これらの性質を無制限に善であると言うことはとても出来ないことである〔それらは古人の無条件の賛美を得たにせよ〕.というのは,善なる意志の原理を欠くならば,それらの性質はきわめて悪なるものとなりうるからであって,一人の悪者の冷静さは,彼が冷静でない場合よりも彼をはるかに危険なものたらしめるのみならず,また直接にわれわれの目にいっそう厭うべきものとうつるからである.
所謂西洋の刀剣の類いに比して日本刀を賛美する時,「折れず,曲がらず,よくキレる」ってのがある.何気にオレは刃物大好き男だったりするのだが,性格まで似ているのかもしれないとかエア思索した事があった.つまり,「(誰に叩かれようとも)折れず,(何を言われようとも)曲げず,(ちょっとしたことで)よくキレる」.

去年も仕事中に何度かプッツンするなど,なかなかエキサイティングしていた訳だが,性格はそう簡単には直らんわな,常日頃からちゃんとせねばならん.つー訳で,今年は頑張って逆刃刀で武装しようと思います. :DDD

修正:若干のtypos.

2009/12/25

MeasureSLOC(&LMS); /* 2009/12 */

今年最後のdiffstat.
bench/BENCH_CALCULATE_SNR_SINR.vhd |   25 
bench/BENCH_DIVSR_RR.vhd           |  206 +
bench/BENCH_DIV_SS.vhd             |  209 +
bench/BENCH_DIV_UU.vhd             |  147 +
bench/BENCH_S1IC.vhd               |  433 +++
bench/BENCH_S1WCAL.vhd             |  925 +++++++
bench/BENCH_S2WFMA.vhd             |  426 +++
bench/BENCH_S4LLR.vhd              |  167 +
bench/BENCH_S5LDPCD.vhd            |  175 +
bench/BENCH_S6PP.vhd               |  262 ++
bench/BENCH_S7RIE.vhd              |  331 ++
bench/BENCH_S7SRG.vhd              |  330 ++
bench/METABENCH_S1IC.vhd           |   43 
bench/METABENCH_S1WCAL.vhd         |   99 
bench/METABENCH_S2WFMA.vhd         |   69 
bench/METABENCH_S4LLR.vhd          |   69 
bench/METABENCH_S5LDPCD.vhd        |   69 
bench/METABENCH_S6PP.vhd           |   28 
bench/METABENCH_S7RIE.vhd          |  141 +
bench/METABENCH_S7SRG.vhd          |   43 
vhdl/ABS2SR_C.vhd                  |  311 ++
vhdl/ABS2ST_C.vhd                  |  235 --
vhdl/ADDSR_CC.vhd                  |  140 +
vhdl/ADDSR_RR.vhd                  |  243 ++
vhdl/ADDSR_UU.vhd                  |  255 ++
vhdl/ADDST_CC.vhd                  |  196 -
vhdl/CALCULATE_SINR.vhd            |   68 
vhdl/CALCULATE_SNR.vhd             |  205 -
vhdl/DIVSR_CR.vhd                  |  161 +
vhdl/DIVSR_RR.vhd                  |  336 ++
vhdl/DIV_SS.vhd                    |  254 ++
vhdl/DIV_UU.vhd                    |   13 
vhdl/ESTIMATE_NOISE.vhd            |   35 
vhdl/LDPCD-stub.vhd                |    3 
vhdl/LLR2PP.vhd                    |  266 +-
vhdl/MULSR_CC.vhd                  |  420 +++
vhdl/MULSR_CR.vhd                  |  307 ++
vhdl/MULSR_CRCONST.vhd             |  138 +
vhdl/MULSR_RR.vhd                  |  245 ++
vhdl/MULSR_RRCONST.vhd             |  237 ++
vhdl/MULSR_UU.vhd                  |  222 +
vhdl/MULSR_UUCONST.vhd             |  214 +
vhdl/MULST_CC.vhd                  |  283 --
vhdl/NbySNR.vhd                    | 4285 +------------------------------------
vhdl/NbySNR_ROM.vhd                |  595 +++++
vhdl/PP2RIE.vhd                    |  212 +
vhdl/PP2SRG.vhd                    |  275 +-
vhdl/PSQUASH.vhd                   |   90 
vhdl/ROUND.vhd                     |  142 +
vhdl/S1IC.vhd                      |   30 
vhdl/S1WCAL.vhd                    |  931 ++++++++
vhdl/S1WCCM.vhd                    |  275 ++
vhdl/S1WCFA.vhd                    |  355 +++
vhdl/S1WCFB.vhd                    |  386 +++
vhdl/S1WDET.vhd                    |  431 +++
vhdl/S1WINV.vhd                    |  293 ++
vhdl/S2WFMA.vhd                    |   58 
vhdl/S3SINR.vhd                    |   84 
vhdl/S4LLR.vhd                     |    8 
vhdl/S5LDPCD.vhd                   |   49 
vhdl/S7RIE.vhd                     |  100 
vhdl/S7SRG.vhd                     |  146 -
vhdl/SRG2IC.vhd                    |  317 +-
vhdl/SUBST_CC.vhd                  |  196 -
vhdl/WCCM.vhd                      |  228 +
vhdl/WFMA.vhd                      |  244 +-
66 files changed, 12916 insertions(+), 5798 deletions(-)
NbySNRをROM化した影響で他の変更分がかすんでしまった. :DDD
主要な行列演算部分をelaborate-time fixed pointなオレオレプリミティブで構成したので,後でbit精度が問題になってもなんともないぜ,さすがオレ!!1 :DDD

2009/12/06

MeasureSLOC(&LMS); /* 2009/11 */

新しいブツのdiffstat,11月分.
bench/BENCH_CALCULATE_SNR_SINR.vhd |  343 ++
 bench/BENCH_DIV_UU.vhd             |   92 
 vhdl/ABS2ST_C.vhd                  |  235 ++
 vhdl/ACB.vhd                       |  172 +
 vhdl/ACN.vhd                       |  266 ++
 vhdl/ACW.vhd                       |  307 ++
 vhdl/ADDST_CC.vhd                  |  196 +
 vhdl/CALCULATE_SINR.vhd            |  196 +
 vhdl/CALCULATE_SNR.vhd             |  377 +++
 vhdl/COMMON_TYPE_PKG.vhd           |   60 
 vhdl/DECIMATE_SYMBOL.vhd           |  194 +
 vhdl/DIV_UU.vhd                    |  200 +
 vhdl/ESTIMATE_NOISE.vhd            |  239 ++
 vhdl/EXTRACT_AC.vhd                |  217 +
 vhdl/EXTRACT_DATA.vhd              |  228 +
 vhdl/LDPCD-stub.vhd                |   80 
 vhdl/LDPCD.vhd                     |  241 ++
 vhdl/LLR2PP.vhd                    |  294 ++
 vhdl/MULST_CC.vhd                  |  283 ++
 vhdl/NbySNR.vhd                    | 4271 +++++++++++++++++++++++++++++++++++++
 vhdl/PP2RIE.vhd                    |  287 ++
 vhdl/PP2SRG.vhd                    |  252 ++
 vhdl/S1IC.vhd                      |  191 +
 vhdl/S2WFMA.vhd                    |  147 +
 vhdl/S3SINR.vhd                    |  267 ++
 vhdl/S4LLR.vhd                     |  388 +++
 vhdl/S5LDPCD.vhd                   |  558 ++++
 vhdl/S6PP.vhd                      |  135 +
 vhdl/S7RIE.vhd                     |  263 ++
 vhdl/S7SRG.vhd                     |  307 ++
 vhdl/SCB.vhd                       |  147 +
 vhdl/SCN.vhd                       |  237 ++
 vhdl/SCW.vhd                       |  242 ++
 vhdl/SRG2IC.vhd                    |  252 ++
 vhdl/SUBST_CC.vhd                  |  196 +
 vhdl/UMA_IN_SYMBOL.vhd             |  238 ++
 vhdl/UMA_OUT_SYMBOL.vhd            |  228 +
 vhdl/WFMA.vhd                      |  160 +
 38 files changed, 12986 insertions(+)
大分書いているみたいだが,NbySNR.vhdがデカ過ぎだな.12bit入力のpre-calculated LUTなので仕方ないと言えば仕方ないが.

2009/11/28

SUPER_COMPUTER >> DIV_UU

ニュースやらblogやらtwitterやらでゴチャゴチャ五月蝿ぇので暴言を吐いたら,masatomon先生にRTされちまったので除算器のVHDLを晒すと言うネタをやってみる.

仕様から説明するか.入力は符号無し整数の被除数と除数,ビット幅は双方同一とするが特に大きさは制限しない.出力は商と剰余,それから零除算インジケータ.スループットは1 division/CLK,入出力レイテンシは制限しない.本来はもっと考えるトコロがあるケド,メンドイので他には制限無し.ただし,合成出来て,あんまりデカくなくて,なおかつそれなりに早く動く事.

で,実装.冗長2進数だの高基数だのはメンドイのでやらない.算術シフトとコンパレータと減算をパイプラインで行う.ソースはバケツに突っ込んだ.イメージ的にはタダの筆算.

で,シミュレーション.ビット数をデカくするとたるいので,3bitでやったのが,これ.


で,合成.アルテラ謹製のくぉーたすつーでプロジェクトの設定はデフォルトのまま突っ込んだら,こうなった.ちなみにビット幅は32bitね.
Fitter Status : Successful - Sat Nov 28 02:29:38 2009
Quartus II Version : 9.0 Build 184 04/29/2009 SP 1 SJ Web Edition
Revision Name : DIV_UU
Top-level Entity Name : DIV_UU
Family : Stratix III
Device : EP3SL70F780I4L
Timing Models : Final
Logic utilization : 10 %
    Combinational ALUTs : 2,018 / 54,000 ( 4 % )
    Memory ALUTs : 0 / 27,000 ( 0 % )
    Dedicated logic registers : 3,235 / 54,000 ( 6 % )
Total registers : 3235
Total pins : 133 / 488 ( 27 % )
Total virtual pins : 0
Total block memory bits : 0 / 2,267,136 ( 0 % )
DSP block 18-bit elements : 0 / 288 ( 0 % )
Total PLLs : 0 / 4 ( 0 % )
Total DLLs : 0 / 4 ( 0 % )

Analysis and Synthesis Status : Successful - Sat Nov 28 02:28:35 2009
Quartus II Version : 9.0 Build 184 04/29/2009 SP 1 SJ Web Edition
Revision Name : DIV_UU
Top-level Entity Name : DIV_UU
Family : Stratix III
Logic utilization : N/A
    Combinational ALUTs : 2,006
    Memory ALUTs : 0
    Dedicated logic registers : 3,235
Total registers : 3235
Total pins : 133
Total virtual pins : 0
Total block memory bits : 0
DSP block 18-bit elements : 0
Total PLLs : 0
Total DLLs : 0

------------------------------------------------------------
TimeQuest Timing Analyzer Summary
------------------------------------------------------------

Type  : Slow 900mV 100C Model Setup 'iCLK'
Slack : -5.132
TNS   : -7413.304

Type  : Slow 900mV 100C Model Hold 'iCLK'
Slack : 0.541
TNS   : 0.000

Type  : Slow 900mV -40C Model Setup 'iCLK'
Slack : -5.259
TNS   : -7461.099

Type  : Slow 900mV -40C Model Hold 'iCLK'
Slack : 0.507
TNS   : 0.000

Type  : Fast 900mV -40C Model Setup 'iCLK'
Slack : -1.902
TNS   : -1922.378

Type  : Fast 900mV -40C Model Hold 'iCLK'
Slack : 0.229
TNS   : 0.000

------------------------------------------------------------

これだけやってもiCLKは159.77MHzでしか動かない.ディジタル回路なめんなよ.スパコンはもっともっと大変なブツだぞ!!1 :P

更新:200MHz行かないのが納得出来んので,カッとなってパイプラインを三倍にした.今は反省はしていない. :DDD


再合成してみたら198.89MHzで動く様になったらしい.やっぱこの除算アルゴリズムで200MHzは無理か. :P
Fitter Status : Successful - Sat Nov 28 12:54:15 2009
Quartus II Version : 9.0 Build 184 04/29/2009 SP 1 SJ Web Edition
Revision Name : DIV_UU
Top-level Entity Name : DIV_UU
Family : Stratix III
Device : EP3SL70F780I4L
Timing Models : Final
Logic utilization : 18 %
    Combinational ALUTs : 2,039 / 54,000 ( 4 % )
    Memory ALUTs : 0 / 27,000 ( 0 % )
    Dedicated logic registers : 9,288 / 54,000 ( 17 % )
Total registers : 9288
Total pins : 133 / 488 ( 27 % )
Total virtual pins : 0
Total block memory bits : 0 / 2,267,136 ( 0 % )
DSP block 18-bit elements : 0 / 288 ( 0 % )
Total PLLs : 0 / 4 ( 0 % )
Total DLLs : 0 / 4 ( 0 % )
Analysis and Synthesis Status : Successful - Sat Nov 28 12:52:15 2009
Quartus II Version : 9.0 Build 184 04/29/2009 SP 1 SJ Web Edition
Revision Name : DIV_UU
Top-level Entity Name : DIV_UU
Family : Stratix III
Logic utilization : N/A
    Combinational ALUTs : 2,039
    Memory ALUTs : 0
    Dedicated logic registers : 9,288
Total registers : 9288
Total pins : 133
Total virtual pins : 0
Total block memory bits : 0
DSP block 18-bit elements : 0
Total PLLs : 0
Total DLLs : 0
------------------------------------------------------------
TimeQuest Timing Analyzer Summary
------------------------------------------------------------

Type  : Slow 900mV 100C Model Setup 'iCLK'
Slack : -3.580
TNS   : -14902.996

Type  : Slow 900mV 100C Model Hold 'iCLK'
Slack : 0.466
TNS   : 0.000

Type  : Slow 900mV -40C Model Setup 'iCLK'
Slack : -4.028
TNS   : -14569.313

Type  : Slow 900mV -40C Model Hold 'iCLK'
Slack : 0.447
TNS   : 0.000

Type  : Fast 900mV -40C Model Setup 'iCLK'
Slack : -1.117
TNS   : -2389.571

Type  : Fast 900mV -40C Model Hold 'iCLK'
Slack : 0.202
TNS   : 0.000

------------------------------------------------------------

2009/11/25

MeasureSLOC(&AL9); /* 2009/09~ */

AでLで9なdiffstat,9月以降の終了まで.
bench/BENCH_CLDPCDOP.vhd      |    6 
bench/BENCH_FCO.vhd           |   53 +++
bench/BENCH_LDPCDDB.vhd       |   16 +
bench/BENCH_LDPCTX2LDPCRX.vhd |    4 
bench/BENCH_PE2RST.vhd        |    3 
bench/BENCH_SELDPCDIPM.vhd    |  141 ++++++++++
vhdl/AFIFO.vhd                |    7 
vhdl/BCBOOL.vhd               |   15 -
vhdl/BER_IF_REG.vhd           |   17 +
vhdl/CLDPCDOP.vhd             |   36 --
vhdl/COS_VLSX4_MEM.vhd        |   71 ++++-
vhdl/ELDPCDIP.vhd             |  103 +++++++
vhdl/FCOD-stub.vhd            |  166 ++++++++++++
vhdl/FCOD.vhd                 |   42 ++-
vhdl/FCO_NG.vhd               |  577 ++++++++++++++++++++++++++++++++++++++++++
vhdl/FP1_LDPCRX.vhd           |   53 +++
vhdl/FP1_LDPCTX.vhd           |    9 
vhdl/FP2_LDPCRX.vhd           |   15 +
vhdl/FP3_LDPCRX.vhd           |   34 +-
vhdl/FP4_LDPCRX.vhd           |   50 ++-
vhdl/LDPCD-stub.vhd           |    4 
vhdl/LDPCD.vhd                |  167 +++++++-----
vhdl/LDPCE.vhd                |   91 ++++--
vhdl/LDPCEDB.vhd              |   42 ++-
vhdl/PE2RST.vhd               |   58 ++++
vhdl/RX_LX_FEBE.vhd           |   17 +
vhdl/SELDPCDIPM.vhd           |   76 ++++-
vhdl/SFIFO.vhd                |    7 
vhdl/UACCUM.vhd               |    7 
vhdl/XDPRAM.vhd               |  125 ++++++---
30 files changed, 1767 insertions(+), 245 deletions(-)
2kSLOCくらいだったみたい.

FCO.vhdがアレだったのでrewriteしてFCO_NG.vhdっつーのを作った.実機にはぶっ込んでないけど,rewriteしただけあってかなりイイ線を逝っている,と個人的には思っている.「良く考えてから書けよ」とかいつも思うんだが,やっぱりcodeのpolish upにrewriteはとても良い.そう言う意味で片手間でrewrite出来る様なstyleであるTPは多いに有利に働いているぜよ.

時間に追われて精神衛生上は良くないと感じるcodeを垂れる事はままある,大人の事情ってヤツね.それを除いても,書いているうちに具合が悪くなる傾向ってのはある.そして,大方のそーゆーcodeは何か良くないトコロがやっぱりある.それを設計の時点で気付けば良いのだけど,俺達ぁエスパーじゃないから,大抵はやらかした後に落ち着いて吟味した後に初めて気付く.

オレの数少ない経験から言うと,本来,抽象化されるべき機能は,要求される仕様の数層上のレイヤーにある.codeのrewriteは演繹でも帰納でもなく,自身の誤謬可能性を認めた上での合理主義に基づく妥当な行為である.そしてrewriteを躊躇する様なstyleならば,その様なstyleは邪悪である.

また別のブツを書き始めたのでクソcodeにならない様に気をつけようと思ふ. :D

2009/11/14

$((A \subset B) \land B) \subset A$

この前も書いたけど,個人的にはあんまりオレオレ形而上学的な事は言いたくないんだよなぁ.ヒキコモしながらエア思索する事は良くあるけど,その手の事はあんまり話題にはしないし,したくないんだよなぁ.まー,喋る相手も居ねぇが. :P

最近の流行の形而上学は知らねぇけど,フツーの大学の学部まで勉強したなら形而上学の歴史で出てくる人の中にカントが居るのは知っていると思う.リンク先にも書いてあるケド,カントもフツーの人とは哲学ちっくな話題を交えるのを露骨に嫌がってたらしい.その辺りの感覚は何となく分かるんだけど,今までキチンと納得出来てなかった.

最近,難しかったので積読して本棚のこやしになっていたカントのプロレゴーメナを発掘したので,もう一度挑戦してみたら,この手の不機嫌の理由を説明しやすい言い回しがある事に気付いた.
序説 一般的問題
いかにして純粋理性からの認識は可能か

(中略)

そこで,この上も無く重大である本来の課題は,厳格な正確さで言い表すと,次の様になる.

いかにしてア・プリオリな綜合的命題は可能か.

(中略)

ところで,形而上学の存亡,したがってその存在はまったくこの課題の解決にかかっている.だれにせよ形而上学において自分の主張をどんなにもっともらしく述べようとも,また息がつまるほどに,推論に推論を積み重ねようとも,もし彼が先の問いにまず十分に答えることができなければ,それはすべて空虚な,根拠のない哲学であり,偽った知恵であると私が言っても正当であろう.君は純粋理性によって語り,そしてただ与えられた概念を分析するだけではなく,矛盾律によらない,しかもまったくすべての経験から独立に君が見抜いたと思い込んでいる新しい結合を申し立てて,それでア・プリオリな認識をいわば創造したと君は誇らしげに言う.それなら,君はいかにしてこれに至ったのか.いかにして君はそういう自負について自分を正当化しようとするのか.常識の賛成に訴えることは君には許されない.なぜなら,常識という証人は,その尊敬が単に世評にもとづくものにすぎないからである.

君がそう私に示すすべてを,私は信ぜず,これを嫌う.

ホンの一部引用しただけだし,もちろんこれで終わりじゃあなくて,この先もかなりイイ事が書いてあるんだけど,引用すんのダルいし十分だろ.一番長ぇ所を蝶意訳してみるか.

つまり,オレオレ主張の価値は「なんでそーゆーオレオレ主張出来るのかと言う理由付けが出来るか?」に生命線が走っている.誰が唱えようと,どんなにもっともらしく聞こえようとそんな事ぁ,関係無い.首が絞まるくらい論理をこねくりまわしてもこの質問に答えられないなら,「何?そのオレオレ主張,マジウケる,腹痛ぇ.」とかミソクソに言われても仕方が無なくね?テメーはそれっぽく,かつ偉そーに自説を開陳しまくっている様だが,根拠はキチンとあるんだろうな?なんか分析した結果だとか,論理的に推論したとか,経験したとか,まして「常識だろ?」なんて言わせねーぞ.常識なんかは時が経てばコロコロ変わっちまうじゃねーか.

あー,説明すんのって面倒臭ぇなぁ. :DDD

2009/11/13

efficient++; /* wrong */

仕事でお得意様々に伺って仕様のレビューをしてもらいに行った電車の中で,いつも通りテキトーに上司と喋ってた.新しいプロジェクトでその上司の上司から「作業の効率化をしろや!」とか言われてどーすっかなーとか考えてるって話題があった.「ふーん,へー,ほー.じゃ,がんばってねー」とか返して終わらしても良かったし,あんまオレオレ形而上学的な事はなんとなく声高に言いたくなかったんだけど.道中暇なので年下の不良社員なのに偉そうな事を言ってみた.巧く伝わったかどうかわからんし,別に伝わってなくてもオレは全く構わねぇんだが,折角なので言いたかった事をまとめておこう.

よくあるよね,こう言う要求.オレ様の数少ない経験から言うと,大抵の短絡的で使えねぇマネージャとかはこう言う事良く言うんだぜ!!1「作業が計画通り旨く進まないのは作業の効率が悪いからだ.作業の効率化をしろ!そうすれば作業時間が短くなるじゃねーか?」そうね,その通り.だが,そうは問屋が卸さんぜよ. :D

言っちゃあ何だが,アンタってもしかして頭悪くね?「作業を効率化しろ!」って言うだけで効率が上がったらエンジニアは誰も苦労なんかしてねぇよ,カスめ.しかもそんだけしか言わないクセに,言外には悪意ある真意が隠されていると疑っちまうよなぁ,フツー.言っちまえよ,本音はこうだろ?「オレ様が計画してやった無茶な工程がウマい感じで事が運ぶ様にする為に,オレが具体的な効率化の方法を考えんのは面倒臭ぇから,テメーの作業がどう言うものかヨクワカランが何とかして作業を効率化しろ!そんでオレのマネージャとして評価が上がる様に精々汗水垂らして働くがいい!」ハイハイ,悪意満載,蝶ウケる,腹痛ぇ. :DDD

この手の無茶な要求はそう思っても言明しない場合に比べて悪影響を実働隊に与えると思うんよ,オレは.具体的な方法を提示せず,結果だけ楽観視して一見筋が通っていてマトモに聞こえるんだが,言外に利己的な本音が見え隠れする様に聞き手側にとられかねない様な言い回しだと顕著に.その最たる弊害は,その言明が実働隊に与える無意味なプレッシャーに起因するやる気の低下,横文字で言うと,incentiveが段々無くなっていっちまう訳だ.んーな事も分からんタコは豆腐の角に頭ぶつけてタンコブでも作ってなさい. :P

一応断っておくと,オレは大した事をやってるつもりは無いんだけど.最近,片手間ながら後輩が午前中いっぱいかけてロジアナで取ってきた実機のログをシミュレーション結果と比較するのにMS謹製のExcelで比較しようとしてデータ数キャパを超えてしまった事があった.しょーがないんでawkとかdiffとか使って一致確認を一分位でやったんよ.shellでコマンド打つ度に隣で後輩が「えー」とか言ってた.いや,別に驚く事って無くね?unixyな環境齧ってるヤツなら常識だろ?

上の例はあんま巧い例じゃないけど,所謂フツーの人達からはそう言う行為は奇異でtrickyに見えるかもしれんなー,と感じた.けど,そう言うちょっとした事を何気なく,しかも常識的に行える様になって初めて作業の効率化ってのは功を奏すと思うんよ,オレは.クソの役にもたたない楽観的指示ってのはincentiveの低下と言う的外れな結果しか生まない.だからって無い知恵を絞って無理矢理具体化した指示を出しても現実性に欠けたり,場当たり的な対処でしか無い場合が容易に想像出来る.

自分のやっている作業が本当は効率が悪いのではないか,と疑う所がスタートライン.効率化を図るスキルの獲得は必要な事であり欠かす事が出来ない,いわば呼吸をする様なモノ.そーゆーモノは日々過ごす環境から自ら,だがそれと意識しないで染み付いていってしまうモノなんだなぁ,と思った.勿論,やろうとするincentiveが憑いていれば,尚の事,良しなんだろうけど.取り敢えず,スーハースーハーと深呼吸でもして下さい. :P

「まー,すぐには巧くいかないと思うんで今のままゴリ押しでやれば?」ってちょいと冗談めかして上司とのこの話題は終わらしました.え,ツン?違ぇよ. :DDD

typo修正: THX 2 masayuko :)

2009/11/01

return KTHX;



晒していたNSのebuildが気に入られたらしい.
こう言うのにはやっぱ1337ishにKTHXで応答せねばなるまい. :D

2009/10/25

Rakuten.karma++; /* again */

去年のタダ飯に味をしめて,今年のタダ飯も喰いに行ってきた.

地元が大宮の隣なので会場の品川まで結構時間がかかる.なので,去年の経験を生かして本を持って行く事にした.読んでた本は学生時代に哲学の講義で使っていたカール・R・ポパーの「推測と反駁」.学生の頃は原本を持ってなかったけれど,最近amazonでポチった.が,出掛けに持って行く厚さじゃねぇな,コレは. :D

会場では相変わらず中の人たちがそこら中に立っててカタい感じ.キョドるからあーゆーの苦手なんだよなぁ,俺だけか?あんま勉強会とかイベントとかの経験が豊富な方じゃないけど,技術オタク歓迎の休日のイベントの割にはビジネス(?)な対応すんの面倒臭ぇなぁ,と思う.何時の間にか楽天の中の人になってたカーネル読書会の中の人は今回のプレゼンで「ここの芸風を変える」とか抽象的な事を言っていたけど,こーゆートコは多分変わらんのだろうなぁ,とか思った.blogかなんかで,懇親会で社会人的挨拶をして知り合いを作れみたいな事を言ってた様な気がするし.まぁ,そーゆー雰囲気を意図しているスポンサーなのだろうから,別にわざわざテキトーにやる様に方向転換する必要も無いだろうけど.

誤解の無い様に言っておくと,LTやらパネルディスカッションやらに笑えるネタは結構あったし,スポンサーが企業だから運営側の対応もとても良い.何よりタダ飯を喰わしてくれるのはすばらしい.金がかからないと言う理由ではなくて,この手のイベントでは他に類を見ないほど,驚くくらいゲストに待遇が良い.

仕事も趣味の範囲も全く違う関係でLLはマジメにやってねぇし,サーバの管理なんかしたこともねぇから,Web 2.0な匂いのするイベントの内容を説明するのも何なので,前から感じてたこの辺りの事でも書いてみるか.

この手の技術オタク系イベント(?)には,スポンサーが意図する雰囲気と言うか,やる側が作り出す雰囲気みたいなモノがある,と個人的には思っていたりする.楽天のヤツは金を払って行く技術系セミナーに近い「いらっしゃいませ,本日は御越し頂き,誠にありがとうございます」的な雰囲気.会社でその手の金のかかるセミナーに行っていたり,その延長として参加している様な人達から見れば,こーゆー雰囲気は結構歓迎されるだろうし,学生でこの手のインフラ系(?)を目指している様なsysadminの卵にも好印象だろうと思う,例えイベントのプログラムの半分以上が自社社員のオレオレ発表だったとしても,だ.

でも,ゲストに対する待遇と言う点では楽天のヤツは良い意味で非常に異色だと思う.そしてそう言う雰囲気を期待している人達がテキトーな雰囲気のイベントに来てしまうと,理不尽に気分を害す.「このイベントって来る価値無くね?」みたいに.この傾向はテキトーな雰囲気を期待している俺みたいなイイ加減なヤツが待遇の良さに慣れなくてキョドるみたいなどーでもよろしい症状より深刻だったりする.

ま,端的に言うとそーゆーテキトーな雰囲気のイベントに参加しなくなったり,あからさまに否定したりする訳ですね,ハイ.参加しなくなるだけなら構わねぇんだが,そーゆー人達の一部はテキトーにやられるのが我慢ならんのか,テキトーな雰囲気のイベントそのものをあからさまに否定したりしている.不良社員のオレが言うのも何だか,それこそ人間なってなくね?

テキトーな雰囲気ってのはやる気が無ぇのとは違う.せっかくの休日に地元でない会場までわざわざ出てきていて,イベント前まで何かしら用意しているのが暗にそれを物語っている.展示されたりしている内容が陳腐に見えたり,話している内容が低レベルだと思ったりしたら,間違い無く手前の目と耳が腐ってる.勿論,なんちゃって展示やオレオレ発表みたいなのもあるけど,そりゃあ,ただのネタだろ,懇親会でも参加して話題にでもすればいいじゃねぇか.

ブース内の内輪で盛り上がってるだけ?普段,ネットでユルく繋がってる技術オタク同士がリアルで顔を会わせたらそう言う感じになっても仕方無ぇだろ.テキトーな雰囲気のイベントだと,やる方の目的の半分以上はそれなんだし.そう言う人種に客商売みたいな対人スキルを過度に期待すんなよ.

技術スキルを教えて貰いにイベントに参加している?どんな雰囲気の技術オタク系イベントでも,イベントに参加したくらいでほいほい技術スキルが上がるなら,エンジニアは誰も苦労なんかしてねぇよ.そこで今まで知らなかった事を知ったり出来たら,単に幸運なだけだろ.しかもその幸運も単なるきっかけでしかなくて,マジに知りたかったらあとで自分でゴニョる事が絶対必要だろ.一日ぽっち休日を潰したくらいで技術スキルがぽんぽん上がるとでも思ってんのか?エンジニアの世界,なめてんじゃねぇぞ.もっと楽に稼げる職業にジョブチェンジした方が良いよ,そんなの職業があるのか知らんけど.

マジメにやってるカタいイベントなら,普段聞けない業務のアノネノネみたいな話が聞けるって?そんなことあるかよ,寝言は寝て言えよ.本当にアレな話を公のイベントでマイクに向かって喋る訳ねぇだろ,常識的に考えて.そう言う事はお互いに名前くらいは覚えていて,何度か懇親会とかで一緒にツルめる様になって,かつ酒の所為か何かで口が滑ったらあるかもしれねぇが.

業務上のマズい所や失敗ってのは,普通の技術スキル以上に共有するがとても難しいモノの一つだろ.まさかとは思うが,そーゆーのに興味のある輩で品質管理とか信頼性の本を一冊も読んだ事がないとか言うのは無しだぜ?ちなみにISO 9001の監査とか会社でやったとか,あんなモノはノーカウントだ.あれは大抵の営利企業なら言われなくてもやっている事しか決めてないし,言っちゃあなんだが取得がほぼ形骸化しているから,あっても無くても大した意味なんか無い,と個人的には思っている.「ここで言うのは何なんだけど,実は...」的なマズい所や失敗について知りたいのは未然防止の一部を形成するけれど,本当に一片の野次馬根性も無く,そう言う経験を正当に扱う意図があるのかをもう一度マジメに考えた方が良い.取り敢えず,日科技連の品質管理とか信頼性の本とかを読めば良いよ.変な事を期待してケチつけてんじゃねぇぞ.

まぁ,要するに何が言いたかったのかと言うと,多分,来週のOSCはテキトーな雰囲気の方です.雰囲気が楽天のヤツとちょっと違うだろうけど,「やる方も来る方もせっかく休日を使って来てるんだから,おもしろおかしければそれで良くね?」って事です. :P

2009/10/10

cat $f && sleep 1h ;

今日,10/10は萌の日らしいので,大宮にある猫カフェの猫家でムニョって来た.

夕方だったので,茶々様は寝てた. :DDD