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

2010/05/18

me += 2*GWL;

ライプニッツのモナドロジーと形而上学叙説を読んだ.バロックのアレなので,やっぱり所々神学の香りがするので万人におすすめとは言えんのが難しい.コイツも中公クラシックスのヤツなのだけれど,訳注や前説がなかなか良さ気でたいへんよろしい.

例によって,カッコイイ所をメモしておく.
「普遍数学」への魅惑
〔中略〕しかし,その無数の著作のどこにも絶望や断念の気分が感じられなかった.その力強いオプティミズムと理想主義は大いなる鼓舞であった.そうして,この東西古今に絶する広大な学識と無尽蔵の創見を蔵した哲学者が「主著」を成さず,最後の総括,あるいは「遺書」ともいうべき『モナドロジー』が二,三十枚の小篇であったことにも,彗星が無限の虚空の闇の中へ尾をひいて消えてゆくような感銘があった.これを書いたとき,われわれの哲学者(ライプニッツ)は,四十年間奉仕した宮廷からは見捨てられ,まったき不遇と孤独のうちにあったが,——
「善い人々とは,この偉大な国にあって,不平や不満をいだかない人である.自分の義務を果たしたうえは,神の摂理に信頼している人である.あらゆる善の創造者を,こよなく愛し,かつ模倣している人である.愛する者の幸福に喜びを感じる,あの真に純粋な愛の本性にしたがって,神のもつさまざまな完全性をうち眺め,心を楽しませている人である」
という言葉でその遺書を結んでいる.いささかの憂欝も翳りもない明朗なオプティミズムは,堂々たる哲人の風貌というほかなかった.

アカデミー建設計画
〔中略〕結局,ライプニッツの生涯をかけた雄大な諸計画は,ほとんどすべて完遂されずに終わった.しかし,それがすべて空想的な現実性のない計画であったからでなく,もっぱら時運による.あるいはあまりにも時代に先んじていたこと,あるいは一個人にあまる巨大さによる.しかし,彼のかくも巨大な文化的理念と,さらに何よりも不断ののかくも強靭な努力は,まこと天才的,英雄的というほかない.後世はライプニッツの理念と努力の成熟するのを目賭した.ライプニッツ自身は将来を確信して,自己の挫折に耐えた.彼は言う,「われわれは後世のために働かねばならぬことを告白する.人はしばしば自分の住まないであろう家を建てる,人はその果実をたのしむべくもない木を植える」.

孤独な晩年
ライプニッツの最後の歳月はまったく孤独であった.最後まで温かい理解者であり,保護者であり,友人でもあったゾフィ選挙候夫人もライプニッツに先だって死し(一七一四年),宮廷では顧みられず,もっとも偉大な学問上の競争者(ニュートン)との対立も激しさを増し,晩年をいっそう暗いものにした.ゾフィ・シャルロッテの早逝によって,ベルリンの宮廷ともつとに疎遠になっていた.生涯独身で終わり,友人もなく,まったく孤独であった.晩年は通風に病み,一七一六年十月十四日,まったき孤独のうちに世を去った.享年七十歳.
葬送には,四十年間尽瘁した宮廷から一人の参列者もなかった.僧侶や大衆は,ほとんど礼拝におもむかず,臨終にも最後の聖餐をしりぞけたライプニッツを無信仰者と見なした.プロイセン科学アカデミーもその創立者の死に対して沈黙していた.かえってパリのアカデミーでは,フォントネルが有名な頒辞を述べた––「世界に光を,ドイツに栄光をもたらした精霊」として.遺骸はノイシュタット宮廷教会に葬られた.これすら長く確実には伝えられずにいたが,二十世紀の十年代にはじめて発見された資料(彼の最後の助手フォーグラーの手記)によって明らかになった.
オレはよく思うのだが,不遇を訴えるのが当の当事者だとその訴えをどうも微妙に感じる.それは,多分,頭のどこかにこの手の楽観主義的な思考があるのだと思う.最近の暗いニュース的なモノは,この手のモノが多過ぎる.仕分け云々で予算を削られて騒ぎ出す人は研究者ばかりで,派遣切りとやらで更なる社会保障を訴える人は大抵そう言うカンジの元労働者だったり.当事者自身が現状を一番理解していて肌身で感じていると言うのは理解出来るけれど,もう一層上の印象としての不信感がオレにはある.

キケロが『宿命について』で言った怠け者の理屈と言うのがある.
病気からの回復が宿命なら,医者にかからなくても治る.回復しない事が宿命なら,医者にかかっても治らない.だからおまえは医者にかかる必要がない.
あなたの試みが成功する事が宿命ならば,あなたが何の努力もしなくてもあなたの試みは成功する.あなたの試みが失敗する事が宿命ならば,あなたがどんなに努力してもあなたの試みは失敗する.つまり,あなたが努力する必要は何処にも無く,あなたの努力は只の徒労である.この手の人たちがこう言う考えを持っているとは言わないけれど,自らの不遇を積極的に訴える輩は概ねして自らの努力を軽んじている様にオレには見えてしまう.確かに「じゃあ,どうすりゃええねん?」と言う鬼気迫った問いに「手前ぇ自身で何とかしろ」と突き放すのも微妙だが,本人自身がもう少し楽観的に構えて努力する方がカッコイイし,そっちの方がオレは助けてやりたくなる.自分の研究に予算が付くハズだと少しでも思えないのなら,その研究とやらはホンモノなんだろうか?働きたい意志を見込んで雇ってくれる人が居るハズだと少しでも思えないなら,その働きたい意志とやらはホンモノなんだろうか?

まぁ,あんまり長々と書くと根性論めいてくるし,オレ自身がそーゆー人たちに比べると多分恵まれている方なので,現状が分かっていない門外漢の戯れ言かもしれんが.

2010/05/09

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

4月分のdiffstat.
bench/BENCH_LMS.vhd         | 1300 ++++++++++++++++++++++++++++-----
bench/BENCH_LMS_LX.vhd      | 1696 ++++++++++++++++++++++++++++++++++----------
bench/BENCH_LVDS.vhd        |  379 +++++++++
bench/BENCH_S1p2SIC.vhd     |   17 
bench/BENCH_S4LLR.vhd       |    9 
bench/BENCH_S5LDPCD.vhd     |   11 
bench/BENCH_S7RIE.vhd       |    3 
bench/BENCH_S7SRG.vhd       |   10 
bench/METABENCH_LMS.vhd     |   10 
bench/METABENCH_LMS_LX.vhd  |   78 --
bench/METABENCH_S1p2SIC.vhd |   36 
vhdl/BS4LLR.vhd             |  239 ++++++
vhdl/CALCULATE_SNR.vhd      |  146 +++
vhdl/CLTUNE.vhd             |   24 
vhdl/EXCHANGE_LX1_F4J2.vhd  |   33 
vhdl/EXCHANGE_LX2_F4J1.vhd  |   33 
vhdl/IEXPORT_LX4.vhd        |  470 ++++++++++++
vhdl/IIMPORT_LX1.vhd        |  504 +++++++++++++
vhdl/IMPORT_LVDS.vhd        |    9 
vhdl/IMPORT_LX1_F1J6.vhd    |   99 ++
vhdl/IMPORT_LX1_F2J4.vhd    |   99 ++
vhdl/IWSRFA.vhd             |   16 
vhdl/LMS_FORMER.vhd         |  297 +++++++
vhdl/LMS_LATTER.vhd         |  107 ++
vhdl/LMS_LX1_FPGA1.vhd      |  624 +++++++++++-----
vhdl/LMS_LX1_FPGA2.vhd      |  385 ++++++---
vhdl/LMS_LX1_FPGA3.vhd      |   70 +
vhdl/LMS_LX1_FPGA4.vhd      |  150 +++
vhdl/LMS_LX2_FPGA1.vhd      |   65 +
vhdl/LMS_LX2_FPGA2.vhd      |   87 ++
vhdl/LMS_LX2_FPGA3.vhd      |   71 +
vhdl/LMS_LX2_FPGA4.vhd      |   88 ++
vhdl/LMS_LX3_FPGA2.vhd      |   38 
vhdl/LMS_LX_FEBE.vhd        |  169 +++-
vhdl/OBSERVE_VT.vhd         |  153 +++
vhdl/PP2SRG.vhd             |   49 +
vhdl/REFXE.vhd              |  114 +-
vhdl/S0SNR.vhd              |   11 
vhdl/S1p2SIC.vhd            |   42 -
vhdl/S3SINR.vhd             |    9 
vhdl/S4LLR.vhd              |  708 ++++++++++++++++++
vhdl/S5LDPCD.vhd            |  952 ++++++++++++++++++++++++
vhdl/S7RIE.vhd              |   22 
vhdl/S7SRG.vhd              |   30 
vhdl/SCB.vhd                |    4 
vhdl/WS4LLR.vhd             |  158 ++++
46 files changed, 8440 insertions(+), 1184 deletions(-)
注目は,S4LLRとS5LDPCだな.ISE 11.5のbugでシミュレーション通りにブツが動かない問題を回避する為*だけ*に2kLOC近くうんこコードを追加した.Xilinxは腹を斬って死ぬべきである.Xilinxはただ死んで終わるものではない.Xilinxは地獄の火の中に投げ込まねばならぬ.マジ,ARMコアぶっ込んだだの寝言抜かす前に,手前ぇのうんこソフトウェアをまともに使えるレベルにしろよ,このアンポンタン. :DDD

2010/05/07

me += 2*RD;

GW中,食っちゃ寝しながら中公クラシックスのデカルト関連の本を二冊.モノにもよるけど,件のシリーズは一冊に訳者の前説と訳が二三個まとめて入っていてお得なモノがあってなかなか良い.本体は,方法序説,哲学の原理,世界論,省察,情念論.

で,中身は各所でなかなかカトリックな香りがする.宗教アレルギー体質な人にはあんまおすすめできんね,残念ながら.大約すんのもタルいので,ネタだけ.
方法序説 第六部
今から三年前,これらすべてを述べた論文を書きあげて,出版者の手に渡すために見直しをはじめていたときであったが,私がうやうやしく従い,私自身の理性が私の思想に対してもつ権威に劣らぬ権威を私の行動に対してもつ人々(ローマ法王庁の人々)が,少し前にある人(ガリレイ)によって発表された自然学上の一意見を非としたことを知った.ところで,私自身その意見をとっているとはいうつもりはないが,こうはいっておきたい,彼らの検閲の前には,その意見中に,宗教にも国家にも有害であると私に思えるような点は認められなかった,したがってかりに理性がその意見を私にとらせたとするなら,私にそれの発表を思いとどまらせたであろうような点は何一つ認められなかった,と.そして私は今まで,きわめて確実な論証なしにはいかなる新たな意見をも私の信念のうちにとり入れまい,だれかの不利になりそうな意見については何も書くまい,とたいへん注意をはらってきたものの,うえのようなことがあってみると,私の意見の中には誤っているものもやはりあるかもしれぬとおそれた,と.さてこのことは,私をして,私の意見を発表しようとする決心を変えしめるに十分であった.というのは,私が前にその決心をした理由はたいへん有力なものではあったが,本を作る職業をいつも嫌っていた私のもちまえの傾向は,その決心を捨てる口実となるような他の理由の数々を,私にただちに見つけさせたからである.そういうあれやこれやの理由を私はここで述べてみたい気がするが,私ばかりでなく世間の人々もまた,それを知りたいと思われるかもしれない.
〔中略〕
こうした考えがすべていっしょになって私を動かした結果,三年前には,私の手元にあった論文を世に示すまいと思い,さらに,生きている間は,この様に全般的な,また私の自然学の基礎を人々にわからせるような,いかなる他の論文も,けっして発表すまいと決心した.しかしその後また二つの別の理由が現われ,ここに若干の特殊な試論(屈折光学,気象学,幾何学の三試論)を書き,私の行動と計画についていくらかの説明(方法序説)を公にせねばならなくなった.

世界論 目次
第一章 我々の諸感覚とその諸感覚を生みだす事物との差異について
第二章 火の熱と光はなんであるか
第三章 堅さおよび流動性について
第四章 空虚について.また,われわれの感覚がある物体を知覚しないのはどうしてか
第五章 元素の数とその性質について
第六章 新しい世界の記述.その世界を構成する物質の諸性質について
第七章 この新しい世界の自然法則について
第八章 この新しい世界の太陽と星の形成
第九章 遊星と彗星の起源とコースの一般論.特に彗星について
第十章 遊星一般について.特に地球と月について
第十一章 重さについて
第十二章 海の干潮と満潮について
第十三章 光について
第十四章 光の諸性質について
第十五章 新しい世界の天空の様相は,そこの住人にとっては,われわれの世界の天空の様相と同じように見えるはずであること

件のガリレイの件は,カトリックをdisるネタによくされるみたいだけど,多分,その辺りの事をまともに把握している人ってあんまり多くないと思うんよね.ポパーせんせーはその辺りちゃんと把握している様ですごいと思うよ,毎度の事だけど.
推測と反駁
推測
第三章 知識に関する三つの見解
第一節 ガリレイの科学とそれに対する新しい裏切り

昔,ガリレオ・ガリレイという名の有名な科学者がいた.かれは,「検邪聖省」で裁かれ,自説を取り消すように強制された.このことは大変な騒ぎをひき起し,二五〇年以上もの間––世論が勝利をかち取り,教会が科学に寛容になった後にも,長らく––義憤や興奮をひき起し続けた.
しかし,今ではこれは極めて古い話になり,人々の関心を失ってしまったのではないかと思われる.というのは,ガリレイの科学にとって,敵は残っていないし,その生命は将来も安全に思われるからである.ずっと前にかち取った勝利が最終的なものだったのであり,その前線では全てが平穏である.したがって,現在のわれわれはその事件に対して,とらわれない見解をもっており,結局それを歴史上の出来事として考え,紛争の当事者たちの双方を理解するようになっている.だから,昔の怨恨を忘れることができないひとの,うんざりする話には誰も耳を傾けようとはしない.
しかし,結局のところ,この昔の事件は何に関するものだったのだろうか.それはコペルニクスの「世界体系」の身分に関するものであった.この「体系」によると,とくに,太陽の日周運動は単に見かけ上のものとされ,地球の回転によって生じるものとして説明されていた.教会は,この新しい体系が古い体系よりも単純であり,天文学上の計算や予測にとって便利な道具であることを,すすんで認めようとした.しかも,法王グレゴリウスの暦法改革には,この新体系が実際に十分利用されていたのである.したがって,ガリレイが次のこと明瞭に述べるかぎり,かれがその数学的な理論を教えることには,何の反対もなかったのである.かれが述べなければならなかったことというのは,その理論の価値が道具としての価値にすぎないこと,つまり,枢機卿ベラルミノが言ったように,その理論が「仮定」に他ならないこと,あるいは,「数学的な仮説」––「計算を簡略化し容易にするために発明され.仮定される」一種の数学的な手段––に他ならないこと,であった.言いかえると,アンドレアス・オシアンデルはコペルニクスの『天体の回転について』への序文で,「これらの仮説が真理である必要はないし,また,真理らしいものである必要もまったくない.むしろ,これらの仮説にとっては一つの事––観察と一致する計算が導きだせるということ––で十分なのである」と述べたが,このオシアンデルに賛同する気がガリレイにあるかぎり,かれがその理論を教えることには何の反対もなかったのである.
もちろん,ガリレイ自身には,コペルニクスの体系が計算の道具としてすぐれていることを強調する気持は十分にあった.しかし同時に.かれが推測し信じてもいたことは,その理論が世界の真なる記述であるということ,であった.そしてこのことが,かれにとって(同じく教会にとっても)事柄の最も重要な側面なのであった.実際,かれには,その理論の真理性を信じるのに十分な理由がいくつかあったのである.かれは,望遠鏡をのぞき,木星とその衛星がコペルニクスの太陽系(そこでは惑星が太陽の衛星になる)の小型のモデルを形づくっていることを,すでに見ていた.さらに,コペルニクスが正しければ,内惑星は(そして内惑星のみが),地球から観察すると,月のような満ち欠けを示すはずであったし,ガリレイは望遠鏡で金星の満ち欠けをすでに見ていたのである.
教会には,「世界の新体系」の真理性について考察してみるという気持がなかった.この「新体系」は,旧約聖書の一説と矛盾するように思われたのである.しかし,このことが教会の主たる理由だったとはいえない.より深い理由は,約一〇〇年のちに,バークリー僧正がニュートン批判のなかで明瞭に述べている.

いわゆる素朴実在論と道具主義的見解,それに続く反証可能性に基づく科学哲学の話なのだけれど,フツーの人は知らんだろ,こんなん.あんま知ったかして信仰心熱烈な人をdisると彼らの永劫の地獄の業火から人びとを救おうとする正真正銘の親切心で生きながら火あぶりされるかもしれないので十分気をつけましょう.

ブラックジョークはさておいても,昨今のエロ本規制とかちょっと似た様な面があるのかなぁ,と思うのであった. :D

修正:若干のtypo.

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 :)