海賊版ダウンロードが違法になるのって本当か?

知らず知らずのうちの海賊版をダウンロードしてしまった場合どうなるんだ?

○○はたからばこをあけた。
しかし、たからばこはミミックだった。
ミミックはザラキをとなえた。
(全員即死)
○○たちはぜんめつした。

って状況がリアルに起こり得るんだけど。もちろんインパスの呪文は存在しない。

こんな法律が制定されたら最後、いくらでも悪用できると思うんだが。人を陥れるために著作物へのリンクを仕掛けておいて、クリックを誘導させて脅すとか。著作権詐欺とか起こるんだろうな。オワタ。

そんな一般人を危険と隣り合わせにする法律なんか作らなくても海賊版対策なら現行法でもできるだろ。海賊版ばら撒きを厳罰にすればいい。警察側の怠惰としか思えん。

DRMどころかEPNも嫌いだ

http://pc.watch.impress.co.jp/docs/2007/0904/hot503.htm

結局、著作権保護なんて糞だという話。windoze使ってると、サポートの関係で新しいwindozeにしないといけないことがでてくる。そのためには重い新しいwindozeを動かすためにマシン買換えが要求される。そうなったら著作権保護つきデータはどうなるか?ってなってくる。俺のマシンは4年になるが、windozeユーザなら買換えなんだなぁ…メモリを増設したばかりで安定度抜群かつ爆速で動いているのになぁ。マシン買換え以外にもハードディスクの寿命も関係あるね。店に置いてるのはたった3年足らずで壊れる程度の品質と店員が言ってたしな。気に入った音楽や映画は3年ごとに買い換えないといけないのか、消費者を馬鹿にしてる。

デジタルの利点は利便性にあるはずなんだが、著作権保護でへんな細工しやがるからその利便性が帳消しどころかマイナスになってしまうわけだ。結局著作権保護とか言ってる連中は消費者のこと何も考えてないし、俺はそんなシステムは最初から使いたくない。テレビのデジタル放送なんてコピワンのせいで糞だね。だいたい放送開始時刻まで待たないと見られないかつ放送終了後はもう見られないテレビなんて前世紀の遺物じゃん。放送とネットがつながる時代に今更デジタル放送?もうアホかと。ラジオがいまだに現役なんだからテレビも現状通りアナログでいいじゃん。はっきり言って税金の無駄使い。そんな金余ってるなら福祉とか年金とかもっと大事なことに使えよ。ワーキングプア→子供欲しいが金がない→少子化のデススパイラル、こっちの問題のほうが国の存続に関わってくる大問題だろ。この国の政策にこれほど怒りを覚えたことはない。

たしかに海賊版問題はやばい。けれど正規購入者に向かってその仕打はあまりじゃないのか。そんなに海賊版が嫌だったら海賊版ばらまいた奴を厳罰にするよう法改正しろよ。海外鯖でまらまいてるとしたら、そこへも日本の警察が介入できるようにする。警察が本気になればばらまいてる奴をつきとめるくらい簡単じゃないの?警察の要求があればログ提出できるようになってるんだしさぁ…

今はホントにHDD以外にバックアップメディアってないのか?俺はCD-RWDVD-RAMで十分だけどな。squashfswindozeにも同等のものあるんだろ?)にしてればDVDに10+GBもの容量を放り込めるし、多くの場合これで十分だろう。バックアップを考えてディレクトリ配置してたら決してそんなことない。
それとも、1つの動画ファイルで4GB以上とかになるのかな?それならさすがにお手あげかもしれない…

exuberant-ctagsのruby.cをいじっている

ここ数日exuberant-ctagsのruby.cをいじっている。
俺はexuberant-ctagsを使ってRuby版eldocを作ろうとしている。RRSEはすべてのライブラリが範囲となるからあっというまに出力があふれてしまう。範囲が広すぎる。せめてrequireしているファイルだけが対象になれば、だいぶ探索範囲は狭められる。記憶力がやばすぎる俺にはこういうツールの存在は死活問題だ。漢字や英単語を一瞥しただけで覚えられた子供時代の記憶力は今はどこへやら。今その能力が必要なのにすでに失っているというのは、皮肉な話だ。

vi用のtagsを生成させれば(デフォルト)メソッドの属するクラスも出力してくれるんだが、いかんせんruby.cのparserがひどい。行頭のif/unless/while/untilしか見ないため、対応するendの認識がめちゃくちゃになる。

a = if true
      1
    else
      2
    end

のようなコードがあると末尾のendしか認識しないためendの対応が釣合わない。そのためにクラス名がめちゃくちゃになるというわけだ。↑のようなコードはrubyistなら少なくとも一度は書いたことがあるはずだ。他にもあらを探せばいくらでもあるんだが、手許のバージョンではやっとcgi.rbを正常にparseしてくれるようになった。ちなみにcgi.rbはありとあらゆるRubyの粋をつくしたなかなかの曲者。ヒアドキュメントまではサポートできた。

まだやってないのがリテラルの扱い。「"文字列」、「'文字列」以外にも「%記法」や「正規表現」がある。quotationさえ扱えばいいというわけではない。後者の2つはescapeなしのquotation記号を入れることができるため、それが出現したとたんめちゃくちゃになる。だから4つとも同時にサポートしないと意味がない。

とくに厄介なのが正規表現リテラルだ。割り算なのか正規表現なのかの区別をつけるのが難しい。幸いなことに

print / a /

はsyntax errorになってくれるんだけど、

def f(x)
  self
end
f /5  # !> ambiguous first argument; put parentheses or even spaces
/

f=10
f /5                            # => 2

の区別が問題だ。「f /5」の行だけ見たら正規表現の開始なのか割り算なのかが区別できない。fがメソッドなのか変数なのかの区別が必要だ。そうなると複雑なRubyのスコープを理解しないといけない。Ruby、人間には優しいがparser泣かせの言語だ。ムズイ…

いっそのことインデントで判断しようにもタブでインデントしてあるコードがいまだに存在するのが問題だ。タブ幅が8なのか4なのか。それがわからんと話にならん。んん……

クラス名の出力は捨てるべきか?ファイル名がわかれば推測できることも多いし。

c-eldoc.el

http://www.emacswiki.org/cgi-bin/wiki/CEldocMode

C言語用eldoc。つまり、C関数の引数をecho areaに表示してくれるもの。インストールしてみたところ、なかなか便利。コードを読んだところ、cppでpreprocessしたものからgrepで情報取っていることがわかった。
ただ、コードが修正されていない場合でも毎回処理しているのでやや重い。カーソル移動がもっさりするけど編集中には気にならないかも。

install-elispをインストールしてから(まぁ入れとけ)

(install-elisp-from-emacswiki "c-eldoc.el")

を評価すればインストールできる。そして、.emacsに以下を追記する。

(setq c-eldoc-includes "`pkg-config gtk+-2.0 --cflags` -I./ -I../ ")
(load "c-eldoc")
(add-hook 'c-mode-hook 'c-turn-on-eldoc-mode)

ソースファイルを開いたとき・修正後にsignatureを集めてbuffer localな変数に代入したほうが軽そうだな。

そのうちC++にも対応するらしい。さらにhackすればD言語にも対応できるんじゃないかなぁ?