脳ざらし紀行


2005-10-01

_ [Ruby] 2つ上のディレクトリ

'/hoge/./foo//bar//./bar'

というようなパス名から

 '/hoge/foo'

を得るには

 File.expand_path( File.join('/hoge/./foo//bar//./bar', '..', '..') ) #=> '/hoge/foo'

か。

_ scanf.rb

細かいことは気にしなくてもいいのかな。

 $ (sleep 1 && echo hoge) | ruby-1.8 -vr io/nonblock -r scanf -e '
 STDIN.nonblock = true
 p STDIN.scanf("%s")
 '
 ruby 1.8.3 (2005-09-29) [i686-linux]
 []

2005-10-02

_ 違法?

ソニーとPSPハッカーの綱引き続く--新ファームウェアがまもなく配布に

ソニーでは「こうした違法改造を行うユーザーに対して、積極的に責任を追及しようとはしていない」とSeyboldは述べた

原文はこう。

Sony is not "actively going after the people doing it," Seybold said

違法とはいってない。単にプログラムの起動方法だけなら、DMCA にも引っかからないはず。

_ 継承と委譲

でも、この例だと

HelloPage.new(CGI.new).main

の時に、@preprocessor が初期化されずに nil のままだから、nil に対して doit が呼ばれてしまうような気がします。と、挙げ足取り。


2005-10-13

_ [Ruby] 実行中のメソッドの名前

 class Foo
   def doit
     caller(0)[0][/in `(.*?)'/, 1]
   end
 end
 Foo.new.doit #=> "doit"

_ [Ruby] 今月、日曜日は何日あるか

require "date"
(Date.new(2005, 10, 1)..Date.new(2005, 10, -1)).find_all{|d| d.wday == 0}.size #=> 5

これ以外の書き方だと1582年10月の日曜日をちゃんと数えることができないような気がする。

require "date"
(Date.new(1582, 10, 1)..Date.new(1582, 10, -1)).find_all{|d| d.wday == 0}.size #=> 3

と、嫌らしいことを言ってみる。


2005-10-20

_ [著作権] 教育機関での著作物の利用、使用

大学の授業で個人消費用の動画を見せたりするのも違法です。(まあそうするとほとんど活動できなくなるわけですが。引用権の範囲によるでしょうが、大学や文化教室の授業なんかは営利目的でしてますのでだめなわけです。

http://takekuma.cocolog-nifty.com/blog/2005/10/post_9358.html#c4500853

著作権法には以下のような条文があるのですが。

著作権法

第35条(学校その他の教育機関における複製等)

 学校その他の教育機関(営利を目的として設置されているものを除く。)において教育を担任する者及び授業を受ける者は、その授業の過程における使用に供することを目的とする場合には、必要と認められる限度において、公表された著作物を複製することができる。ただし、当該著作物の種類及び用途並びにその複製の部数及び態様に照らし著作権者の利益を不当に害することとなる場合は、この限りでない。

2 公表された著作物については、前項の教育機関における授業の過程において、当該授業を直接受ける者に対して当該著作物をその原作品若しくは複製物を提供し、若しくは提示して利用する場合又は当該著作物を第38条第1項の規定により上演し、演奏し、上映し、若しくは口述して利用する場合には、当該授業が行われる場所以外の場所において当該授業を同時に受ける者に対して公衆送信(自動公衆送信の場合にあつては、送信可能化を含む。)を行うことができる。ただし、当該著作物の種類及び用途並びに当該公衆送信の態様に照らし著作権者の利益を不当に害することとなる場合は、この限りでない。

第38条(営利を目的としない上演等) 公表された著作物は、営利を目的とせず、かつ、聴衆又は観衆から料金(いずれの名義をもつてするかを問わず、著作物の提供又は提示につき受ける対価をいう。以下この条において同じ。)を受けない場合には、公に上演し、演奏し、上映し、又は口述することができる。ただし、当該上演、演奏、上映又は口述について実演家又は口述を行う者に対し報酬が支払われる場合は、この限りでない。

学校その他の教育機関における著作物の複製に関する著作権法第35条ガイドライン(PDF)

このガイドラインでは大学は営利を目的としない教育機関に分類されている。

学校その他の教育機関における著作物等利用に関するフローチャート(PDF)


2005-10-28

_ こんなの太くて入らないよ

「お〜いお茶」の取っ手付2リットルのやつを買ったら、太過ぎて冷蔵庫の扉の方に収納できない。取っ手が付いているからといって、とくに持ちやすいわけでもない。うーむ。

_ ニュージーランドには、少なくとも片側が黒い羊が少なくとも一頭存在する

Mogamiさんの日記。白黒写真の自動彩色の話。

上のJ(U)を変分してもこの方程式にはなりませんがな

でもこの場合、J(u) は

 J(u) = \sum_r (U(r) - \sum_s w_{rs} U(s))^2

定義より常に 0 以上だから、

U(r) = \sum_s w_{rs} U(s)

が成立したら J(u) は 0 になって最小値を取ることになると思います。

で、この線形方程式が解けるかどうかが気になります。解は良い条件の下で存在するわけですが、ジョークになぞらえて言うなら、

物理学者は、

「これは写真の端が断熱材、人間が色を塗ったところが熱源、各点での熱拡散係数が  w_{rs} から導かれるものである Dirichlet-Neumann 問題を離散化したものなんだから解けるに決まっている。」と言った。

数学者は、

「人間が単色でベタ塗りした領域の内部を考えると、方程式を満たすことは  \sum_s w_{rs} = 1 から明らか。そうでない部分だけの線形方程式を考えると、出てくる行列が優対角行列になる。既約優対角行列で、少なくとも一つの対角成分が同じ行の非対角成分の絶対値の和より真に大きいなら、行列は逆行列を持つ。よって、人間が写真の少なくともどこか一箇所を単色でベタ塗りし、違う色同士が隣り合わないようにすれば 塗り残された部分が連結領域であれば、上の線形方程式の解は一意に存在する」と言った。

って、感じでしょうか。どうしてこの手法がうまくいくんでしょうねえ。人間が単色でベタ塗りしたところの色はそのまま使われているのに、色の付いた写真を見ると違和感無く見える。つまり「人間の目は YUV の Y に敏感で UV にはそうでもないから」という平凡な結論になってしまうような気が。


最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ 最新 追記