2001-10-17 Every cloud has a silver lining.
λ. 久しぶりに思う存分ピアノを弾いた。
λ. データベース
PostgreSQLをインストールしたけど、いまいち管理方法が良く分からない。やっぱ、マニュアル読まなきゃだめか。
λ. そういや、ケシゴムってデータベースの勉強は結局どうしたの? 君がAccessを勉強してるっていうから、僕もデータベースを勉強することにしたんで、あの後がちょっと気になる。
λ. %
Nを法とするような演算を実現したいときに符号を考えなくていいので楽かも。
λ. Where is Define of XDrawString
これって時計周りに90度傾けて描画しようという意味なのかなぁ。それとも本気で縦書きにしようとしてるのかなぁ。
2002-10-17 Not a day passed without my thiking of you.
λ. こけた
何かに足を引っかけて転んでしまった。前のめりになった時点で、さらに加速することで上体を建て直そうとしたのだけど、かえって裏目に……
λ. 萩野服部研
急に虚しさに襲われる。目の前の人々がメタデータがどうしたといった小難しい話をしているのが何だか異様な姿に見えてしまう。すべてが遠い世界での出来事のようだ。……早く帰って寝よう。
2003-10-17
λ. __stdcallと__cdecl
なんでdlでstdcallな関数を呼び出せるのか不思議に思ってたのだけど、やっぱり問題あるのか。
λ. JOJOの奇妙なスタンド占い
をやってみた。chiko日記(2003-10-17)より。
あなたのスタンドは「キング・クリムゾン」です。
能力 :時間を削り取る。予知。
幸運の象徴:電話
不幸の象徴:ゲッターロボ
総合運:超ニガテ
恋愛運:超ニガテ
金銭運:超ニガテ
健康運:超ニガテ
総評:最悪です!危険な兆候が出ているので、すぐに現在の生活を改める必要があります。現在、あなたは非常に多方面で活躍し、多大な成果をあげていますが、油断してはいけません。なぜならそれらの反動がすぐそこまで近づいてきているからです。「死ぬことよりも恐ろしいこと」という最悪の事態を避ける第一歩は、まず善行を積む事です。他人のウラミを買うようなことは絶対に避けるべきですので、注意してください!
……
「時間を削り取る」って、ひょっとして飛び級のことかしら。勿論これを信じてるわけではないし、手続きにも何も問題はないはずだけど、一抹の不安が拭えない。
2005-10-17
λ. 情報教育論 (3)
Kotodama Squeak ですか。 言霊とか日本語プログラミングとかにはまったく興味ないけど、Squeakに触れるいい機会になりそうで、それは嬉しい。
それはそうと、大岩研のサイトは使いにくくて仕方が無い。 (ログインせずに)閲覧するだけでCookieが必要だったり、 テキストボックスにCtrl+Vでペーストしようとすると 「Unprivileged scripts cannot access Cut/Copy/Paste programatically for security reasons. Click OK to see a tecknical note *1 at mozilla.org which shows you how to allow a script to access the clipboard. For more information HOW TO enable Cut/Copy/Paste see moodle-discussion : http://moodle.org/mod/forum/discuss.php?d=5880」 と言われたり*2。 Moodleというのを使ってるらしいが……
*1 <URL:http://www.mozilla.org/editor/midasdemo/securityprefs.html>
*2 RichTextをペーストするために必要なこともわかるし、Mozilla/Firefox側で設定すれば良いことは分かるけど、単にプレーンテキストをペーストしたいだけの私にそんな事言われても……
λ. 慶應から湘南台駅へのバス、うるさすぎ
iPod nano も買ったことだし、バスの中で色々聴いてみたのだけど、うるさ過ぎて全く集中できない。 バスの中で本や論文を読むと目が疲れるので、バスでの他の時間の潰し方として試してみたのだけど、こりゃダメだな。 本や論文を読んでいるときはあまり雑音は気になっていなかったけど、これは視覚と聴覚で入力が違っていたからノイズが気にならなかったってことだろうか? とにかく困った。
2006-10-17
λ. TOEICの結果
こないだ受けたTOEICの結果が出ていた。
- Total Score
- 840
- Listening Score
- 420
- Reading Score
- 420
リスニングは予想以上に出来ていたが、リーディングは予想以上にミスってたようだ。けど、まあ初受験ならこんなもんだろう。次に受けるときは900点を目指したい。
λ. 『ベルセルク (31)』 三浦 建太郎
表紙を見て一瞬バットマンかと思った。
塒神(クンダリーニ)は、軍荼利明王からきていて、その真言が「オン・アミリテイ・ウン・パッタ」で種字が下の「うん」という文字なのか。仏教のこの辺りのシステムは知ってると楽しそうかもと思った。 ところで、梵字(悉曇,Siddham)はUnicodeでもサポートされていないんだなぁ。それなりに需要はあると思うのに。(追記: 一応、Roadmap to the SMPにはProposalがあるのか)
2007-10-17
λ. RubyでSTM
後で書く。
【2008-02-11 追記】 後で書こうと思いつつ、ずっと忘れていたが、ようやくまとめた。
<URL:http://www.tom.sfc.keio.ac.jp/~sakai/archives/ruby-stm-0.0.1.tar.gz>
使い方
STM.atomically{ ... } でトランザクションの実行。必要な条件が満たされていない場合などには、STM.retry で現在のトランザクションの再試行。STM.or(proc1, proc2, ...) は引数のProcを順番に試行して最初に成功した結果になる。全ての引数が再試行になったら、STM.or全体として再試行になる。
STM::Var が Haskell の TVar 相当で、トランザクションの対象となる「変数」。トランザクション中に、STM::Var.new(value) で作って、STM::Var#get, STM::Var#set(val) で読み書き。
STM::Array というのも用意してあって、こちらはトランザクションの対象となる「配列」。Rubyの配列で使える操作はほぼそのまま使える。
それから、STM::MVar が Haskell の TMVar 相当。
実装
シンプルな実装。
トランザクション中で最初に STM::Var を読み込んだときの値と、そのトランザクション中で更新した結果の値を、トランザクションのオブジェクトに記録。コミット時にはグローバルなロック*1をかけて、記録された値と現在の値に齟齬がないことを確認し、それから実際の STM::Var に対して書き込む。もし齟齬があった場合には最初からやり直し。
再試行が起こった場合には、それまでに読んだ変数に対してそのトランザクションを登録し、それらの変数に対して変更がコミットされるまで待つ。
他の実装
実装後に気づいたのだけど、<URL:http://www.atdot.net/~ko1/diary/200701.html#d25> で笹田さんも実装していた。 また、<URL:http://moonbase.rydia.net/mental/blog/programming/ruby-stm> というものもあるようだ。
*1 グローバルなロックをかけるよりは、CASやLL/SCを使いたかったけど、Rubyには無いしね。
ψ ケシ [自分、飽きっぽい性格なんで困ります(苦笑) 一応断続的だけどやってます、大したことしてないけど。]