2006年04月の日記。

2006年04月02日

ローカルディレクトリブラウザ(仮)

ファイルのコピー、削除をバックグラウンドで行おうと思いpthreadを使ってみました。

スレッド側から処理の完了を通知するためにXSendEvent()を使ったのですがメインスレッド側が反応しません。ウィンドウの上でマウスを動かすとかキーを押すとか何かのイベントが発生すると反応するのでキューには入っているようです。

pthreadとX11を合わせて使うときには何か制約があるのでしょうか。forkしたほうが楽なのかも。

X11とpthread

XSync()を呼んだら同期してくれました。昨日から悩んでいた問題が解決。メインスレッドというかメッセージループ側がイベントの投入に気づいていないような雰囲気ですが、これはそういうものなのでしょうか。

man XInitThreadsを読んでもさっぱり判りません。

rxvt-unicodeとscreen

termcapがおかしいのかShift+カーソルキーでスクロールできなくて困る今日この頃。rxvt-unicodeにしてもJIS X 0201カナが表示できなかったのでrxvtに戻してしまいましょうか。

2006年04月04日

ローカルディレクトリブラウザ(仮)

バックグラウンドでのコピー操作を実装したので、今度はコピーの中止などを実装。とりあえずは動いている模様。スレッドの非同期動作に付いてテストプログラムを書くにはどうしたら良いのでしょう。JUnitにはナイスなのがあるのでしょうか。

ATH-CK31

ATH-CK5と異なりハウジングとケーブルとの接合に角度が付いているので耳にあたらなくてよさそうな雰囲気。ATH-CK5だとハウジングと直角にケーブルがでていたので奥まで押し込むとケーブルと耳たぶが干渉して痛いし、痛くない程度に緩めに装着すると低音が聴こえないし、なんとも言えない物でした。

FOSS

Free Open-source Softwareのことらしいのですが、freeではないOpen-sourceというのはどういう物なのでしょうか。

少し考えてみたのですが、GPLでライセンスされているものくらいしか思いあたりません。

IEの使用感を変えることは恥

  1. プラグインを自動的に開始させるならライセンス料を支払え
  2. いやなら特許に抵触するIEを頒布するな

というわけでMicrosoftは特許に抵触しないように修正したわけですが、修正したら修正したでこの反応。

過去の特許権侵害に付いては別途損害賠償請求がなされているのでそれはそれで。

2006年04月05日

Winny専用PC

Winny専用PCでWinnyを実行していたとしても、そのPCで入手した罠ファイルを別のPCで閲覧しようとしたら意味がないのでは。情報の流出経路にWinnyのネットワークを使うタイプなら被害が抑えられますが、HTTPサーバになってしまう「山田オルタナティブ」などには無力です。

Winny専用PCを用意するだけでは足りなくて

まで啓蒙しないといけないような気がします。他にもファイアウォールを用意して余計なポートを塞ぐとか。そこまで踏み込まずに「専用PCを用意しましょう」で終わってしまうのは中途半端な気がします。

2006年04月06日

スピンロックだけではスレッド間の排他制御はできない

linuxのスピンロックというのはマルチプロセッサ環境でCPU間の排他制御を行うもので、スレッド間での排他制御にはまったく役に立ちません。そもそもUP環境でコンパイルした場合にはspin_lock()系マクロは空文に展開される位です。

なので、本当はセマフォを使って排他制御を行うべきなのですが割り込みハンドラ中やブロックデバイスドライバのrequest_fn()ではsleepできない、つまりセマフォが使えないのでうまい手がありません。

子犬のワルツ

プログラムは少しずつ書いていけばいずれできあがるのですが、少しずつ練習していてもちっとも繋げて演奏できません。テンポ120と1/2倍速程度でなら形になってきたのですが、速度を上げると別のキーを押してしまうので頭が速度についていけていないような雰囲気。

anthy.elが遅い

Celeron 1.3GHzのマシンですが、emacsの起動が遅い、というか.emacs.elの処理が遅いので調べてみたら (anthy-kana-map-mode) を評価するのに7秒かかっていました。かかりすぎ。

2006年04月10日

pthreadとCPU affinity

pthreadで生成したスレッドを特定のCPUで走行させるにはどうしたらいいのか、というのをこの土日に考えていたのですが結論として「できない」ということが判りました。

sched_setaffinity()は引数としてPIDを要求するのでpthread_tからスレッドのPIDを取り出せないかどうか、と言う方向で考えていたのですが、pthreadではなくてclone()を使うのが正解ではないか、と言う。clone()であれば同一プロセス空間でも別のPIDが割り当てられます。

Win32ならスレッドごとにIDがありCPU親和度を設定できるのでPOSIX Threadでもできるのだと思いこんでいました。

2006年04月11日

これはひどい

ローカルディレクトリブラウザ(仮)にメッセージを追加しようとして目を疑った一瞬。

これはひどい。書いた奴でてこい。俺だよオレオレ。anthyで変換すると「俺だよ折れ折れ」になって心が折れそうですがそこはそれ。

私的録音補償金

HDDやあれやそれにも私的録音補償金を課そうという話ですが、仮りに補償金が課された場合「補償金を支払っているのだからコピーし放題」「P2Pでコピーしたディスクがはみでる程流通」という流れになったりしないのでしょうか。今と変わらないという見方もできますが。

私的録音によって別に著作権者の権利は何も侵害されないはずですが、仮りに侵害されるとして金銭的に保障しようとするならばCDや賃貸料などのコピー元の価格に含めるべきでコピー先であるメディアに課すのは不自然だと思います。

コピー先であるメディアは複製以外にもいろいろ使えますが、コピー元はコピーや再生するために使うからです。また同じ曲を1度複製するより、MD、CD-R、カセットテープと異なるメディアに3回複製すると支払った補償額が通常の三倍になるというのも納得がいきません。

重ねて書きますが、私は「私的録音」に対してなぜ補償金が必要なのかがさっぱり判りません。どう考えても請求される理由が思い付きません。

ローカルディレクトリブラウザ(仮)

コピー中にquitできてしまうのでバックグラウンドでの作業中にはとりあえず終了しないような処理を追加。

2006年04月12日

私的録音補償金

借りてコピーして返す、と言うのはややこしいので今は避けますが「買ってコピーして売る」これは私的録音の範囲からはずれていると思っています。

大事なのはCDだとかDVDといった入れ物ではなくて中身です。外来語で言うとコンテンツ。

コンテンツを複製してコンテンツの入れ物をコンテンツごと売るのですからこれは販売目的の複製です。ですから、「買ってコピーして売る」のは私的録音の範囲から外れると考えています。

この場合は著作権者の権利を侵害していると思われますからなんらかの補償があってしかるべきだと思いますが私的録音ではありませんので私的録音補償金制度で補償するのは筋違いといえます。

1年待てば200gに

今のUMPCは「第一歩」であって12ヶ月も経てば当初目標の200gという重量が実現できるそうですからそれまで待つことにします。

なんて考える人がたくさん発生して売行きが悪くなり採算が取れなくなり計画中止、ということになりそうですがそこまで見越した発言なのでしょうか。

借りてコピーして返す

これも私的複製の範囲から外れています。

というか、借りる方はともかく貸す方が良くありません。複製を許可する権源が無いのにも係わらず複製を前提として貸してしまっています。

また、借りたものを複製するというのは著作権法上の私的複製からも逸脱しているように思えます。

雑誌を借りてきて記事をコピーして返す、と言うのも同様に問題を抱えていると思います。中身と入れ物が一体化していて切り離せなかった時代の法律では無理があります。中身と入れ物が分離してきたのですからこのあたりから抜本的な見直しが必要なのではないでしょうか。

借りてコピーして返す #2

これも私的複製の範囲から外れています。

と書いてしまいましたが、現行の著作権法の下では外れていません。私自身が「借りてコピーして返す」というケースは私的複製の範囲から外すべきではないか、というか、私的複製とは言えないのではないか、と考えていたために表現を誤ってしまいました。

もともとの著作憲法で私的複製が認められている経緯として当時の「貸本屋」の存在があります。

本ですからもともとはコピーできないというかコピーなんてしていられないメディアを貸し出していたわけです。

後はレコード。物理的に接触して読み取るメディアなので再生を重ねるとメディアが破損します。破損を防ぐためには別のメディアに複製してオリジナルのレコードは保存しておかなくてはなりません。

今となってはレコードなんてあまり数がでませんしメディアに納められている中身はコピーできるのが当り前です。ですから、コピーするのが大変な手間だった時代のルールは抜本的に見直して時代に即したルールを定める必要があるのではないかと思う訳です。

やっぱりややこしいので頭を冷やしてまた来週。

2006年04月14日

ローカルディレクトリブラウザ(仮)

スクロール時に隣のバッファの描画を破壊するのですが、これはスクロール時にクリッピングを誤っていました。

と、書いておけば土日に気が向いたときに直せるような気がしないでもない。

MIRACLE Linux 4.0

フルインストールでEmacsが入らないというのは別に良いのですが、emacsが無いのにemcsclientが入っているのが謎。

どういう依存関係でemacsclientだけが入っているのでしょうか。

jiffies++

MIRACLE Linux 4.0のソースにjiffies++;とか書いてあってびっくり。

2006年04月15日

200gは誤解

やっぱり、とはいえちょっと残念。

1.8インチHDDで200gとなると飛鳥のポータブルフォトストレージが205gで重量的にはかなり近いです。ここからストレージ機能に加えまっとうなPCにするにはどのくらいの+αが必要でしょう。

1.8インチのHDDがおおむね60gちょっと。バッテリをどのくらい軽くできるかにかかってきますが軽い、容量の小さなバッテリで稼働できるようにするには消費電力をもっと抑え込む必要がありそうです。

2006年04月16日

ローカルディレクトリブラウザ(仮)

いろいろと手直し。gdbで追っていたらなかなか面白い動きを。

カーソルキーで1行ずつスクロールしていく、というありがちなシーケンスでカーソル位置の描画を2度行っていたのを1度だけで済ませるようになったので少し速くなったはず。理屈の上では。

2006年04月17日

yellowTABが破産?

ZetaOSの行方は。

OpenBSDも寄付が足りないと言っていましたし、Windows以外のOSは儲からないのでしょうか。

2006年04月18日

PS2値下げの予言

Lazard CapitalのタロットカードによるとPS2が今月末頃に値下げされ、149ドルから129ドルになるとのこと。

PS3のOSは失敗作

InquirierによるとPS3のOSは256MBのメインメモリから64MBを、おなじく256MBのGDDR3メモリからは32MBもふんだくる代物ものだとか。

リンク先の記事では

とあるのも興味深いです。つまりフルに使えるのは5個。いつ取り上げられるか予測できない6つめのSPEを使っていたら予期できない所で処理落ちするかもしれません。

suspend2でresumeできない

土日にkernel 2.6.16.5にsuspend2-2.2.4をあてたところresumeできない状態に。

suspend2-2.2.1やsuspend2-2.2.2.1まではOKでsuspend2-2.2.3からアウト。というところまで分けていたらkernle 2.6.16.7とか出てるし。

ローカルディレクトリブラウザ(仮)

テキストビューアの文字コード判定がなぜかShift_JIS寄りになっていたので1行修正。

before
eval = (unsigned)(*ptr)
after
eval = (unsigned char)(*ptr)

んがー。

2006年04月19日

ケータイ2.0

ナンバーポータビリティはケータイ2.0の必要要素ではなかろうか、という毒電波受信。

2006年04月20日

テクニカルライタにも使えないFOSS

テクニカルライタは、FOSS(Free and Open Source Software)の利用に対して2番目に前向きなグループだと思っていた。コンピュータの上級ユーザであり、日々開発者と接することでFOSSへの関心が高まっているはずだと考えたのだ。

なぜこのように考えていたのか不思議でなりません。

日々開発者と接するというのが「日々FOSSの開発者と接する」というのであれば話は別だったかもしれません。

しかし、こうした意見に関してもっと興味深いのは、彼らのとった態度だ。FOSSを使い始めるにあたって、誰もフリーソフトウェアまたはオープンソースの理念に対して関心を示していない。

これも極めて当り前で、彼らはテクニカルライタなのですから、テクニカルな部分が主な興味の対象です。しかし哲学者ではないのですからフィロソフィの部分に付いては興味が無くても仕方がありません。

FOSS側がやるべきことはフリーであることやオープンであることのメリットを伝えることです。思想に賛同していない人を非難したりけなすような記事を書くことでは無いはずです。

味方に付けるべき人達を敵に回してどうしようというのでしょうか。

goo百科事典

goo辞書にWikipediaのデータを表示する機能がついたのですが、WikipediaのテキストをそのままHTMLとして解釈させていたため<>などの文字がタグとして解釈されて表示されなかったり、Scriptのようにかかれているものが実行されたりしてなかなか楽しい事態に。

ブラクラなどを閲覧すると、ブラクラのサンプルソースが本当に実行されてしまったようです。

暫定対処として211.19.117.60(*.nttx.co.jp)の人がWikipediaからサンプルソース部分を削除。

2006年04月23日

3GHzのConroeは7GHzのPentium 4より速い

Inquirerの記事によると3GHzにオーバクロックしたConroeコアはSuperπ100万桁を16秒で終えるそうです。

2006年04月25日

off_tが4バイト

あまりのことにmixiに書いてしまいましたが、Linuxではsizeof(off_t)が4バイトしかありませんでした。おかげで4GB以上のファイルサイズが取得できません。

ローカルディレクトリブラウザ(仮)でも処理途中でlong intにしてしまっているので誤動作してしまうのですが、これは修正可能です。しかしoff_tが32ビット幅しかないというのはどうしたらいいのか。

FreeBSDではずいぶん前からoff_tは64ビット整数なのでローカルディレクトリブラウザ(仮)を直せば問題は無くなるはず。

Linuxではstat()やstruct statの代わりにPOSIX非準拠のstat64()/struct stat64を使うようです。

2006年04月28日

PCにバンドルされているソフトウェアのライセンス

中古で購入した場合、バンドルされていたソフトウェアのライセンスはどうなるのか、という話。

中古として購入した場合にはライセンスを認めない派
元々新品時に購入したオーナーにはライセンスを継続している、という認識でよいのでしょうか。この場合、 というような制約条件と矛盾すると思います。OEM版Windowsとか。

もしそうなら、PCを買い換えるときにバンドルされていたOfficeやWindowsを買い直さなくても済むわけで、お財布にやさしい状態になります。わざわざOfficeプリインストールのVAIOを選択する理由がなくなります。

元の所有者、新品として購入した人にライセンスがあるのであれば、そのライセンスを再販売(?)することも可能と考えられないでしょうか。もしこれが販売できないとなると財産権の侵害に当たるようにも思えます。

新品PCと言えども、たいていは小売店から購入するわけですから所有者自体はメーカー、小売店、購入者というように変遷しています。小売店が元ユーザ、個人となったくらいで添付品の使用権が消失するというのもおかしな話です。

中古として購入した場合にはライセンスを認める派
これなら特に問題は起きないように思えます。サポートうんぬん、の話がありますがユーザの数自体は増減しませんし。

2006年04月30日

横田早紀江さんがブッシュ大統領と会談

北朝鮮に子供を拉致されたとする横田早紀江さんがブッシュ大統領と面会したそうです。よく解りません。なぜ日本ではなくてアメリカなのでしょう。

日本に言っても解決する目処が立たないからでしょうか。「あんたじゃ話にならない、上のものを呼べ」みたいな。

日本には拉致問題を解決しようとする意志があるのでしょうか。それとも、意志はあるけど能力が無いのでしょうか。


トップを狙う

Copyrigiht © 2006 びい