2011/12/21

Save Jisui! 自炊を守れ

作家・東野圭吾ら"自炊"を代行するスキャン業者を提訴 http://nico.ms/nw166149
「電子書籍は存在からして認めてません。本を買って自炊した人も盗っ人です。でも個人的自炊は合法だから仕方ない、とりあえず大規模な業者から訴えます。質問書で脅しをかけたけど、念書書かなかったやつらから見せしめね。」
こりゃ金出す気がおこらんなぁ。 何が悲しゅうて金出してまで盗人扱いされなあかんねん。
電子書籍やDRMでも同じ問題がある。同じアルバムを聞く、同じ本を読む、それだけなのに、別の再生システムを使うというだけの理由で、同じデータに何度もお金を払わないといけない。次々と世代交代する再生システムに合わせて、延々とお金を取られる。
レコード・CD・着メロ・iTunes Music Store。VHS・DVD・ブルーレイ。これを繰り返しているうちに辟易としてくる。僕はいったい何を買っているのか。どうせ「僕のもの」にならないんだからレンタルでいいじゃないか。そもそも、一度はお金をはらったんだから、今度はダウンロードしてしまえばいいじゃないか。そもそも、最初から金はらう意味なんてないじゃないか。
僕はまだ、この途中の「どうせ自分のものにならないんだから買わない、もしくはレンタル」というところで踏みとどまっている。しかし、昔ぼくが、「ダウンロードすればいいじゃん」と悪びれずに言う人に対して抱いていた嫌悪感は、もはや無くなった。それどころか、共感すら覚える。
複製権という考え方が、出発点として間違っていたことは明らかだ。しかし、法体系を根本から変えるのはとても時間のかかる、困難な作業になりそうだ。
それだけでなく、電子書籍そのものに激しい嫌悪を示す作家が多数存在する時点で、この問題は社会・法・経済システムだけの問題ではなく、文化の衝突の問題でもある。法的に落ち着くまでには、長い長い長い時間がかかるだろう。
でも私は、情報への自由なアクセスを大切にしたい。
最低でも、データにお金を払った人は、その情報を好きいじり倒す権利をもち、その権利は死守されなければならないと考えている。
とりあえず抗議として、私は浅田次郎・大沢在昌・永井豪・林真理子・東野圭吾・弘兼憲史・武論尊は読まないことにする。もともと小説はほとんど読まないのだけれど :P

今日の作業メモ MacPortsからOpenJTalkまで


環境の充実
  • XCode (98%で止まったけど、ずっとループしてるプロセスをkillしたらインストールできた。本当にこれでよかったのか…)
  • MacPorts

日本語処理をいろいろインストール・試用
  • Mecab 形態素解析器。性能がいいらしい。FLOSSありがたす。
  • Open JTalk 音声合成エンジン。Mecabやらなんやらを使ってる。棒読みじゃなくてアクセントがつく。そして、なんといってもFLOSS。
  • SayKana 日本語読み上げソフト。仮名のみ。しかし、アクセント等読み方を細かく指定できる利点もある。音声合成エンジンはAquesTalk (いわゆる棒読みちゃん)。
  • SayKotoeri 日本語読み上げソフト。ことえりと上記のSayKanaを使い、漢字かな混じり文を読んでくれる。ことえりの辞書と連動。
  • SayKotoeri2 日本語読み上げソフト。ことえりと棒読みちゃんを使い、漢字かな混じり文を読んでくれる。ことえりの辞書と連動。音声合成エンジンはAquesTalk (いわゆる棒読みちゃん)。

実用
OkayuでSayKotoeri2をつかう。普通にできた。今度はOpen JTalkを呼び出したいんだな!

考察
「ゆっくろいど」なんていうのもあるのね。Charleston使ってないから目に入ってなかった。そしてMacOSX搭載のKyokoさん。若干気になる。
FLOSSでニコ生の読み上げをしたいなぁ。SayKanjiなどを参考に、何かいじってみたい。

2011/11/06

StringBuffer (CharSequence) の罠

Project Eulerをやっていて、StringBuffer(正確には、StringBufferの親インターフェースCharSequence)の罠にはまった。悔しい。備忘のため記しておく。
回文の問題で、reverse()が使いたいがためにStringをStringBufferにコピーしたのだが、StringBufferオブジェクト同士をequalsで比較しようとしてミスった。


StringBuffer(やStringBuilder)ではequals(やhashCode)はオーバーライドされていないため、オブジェクトの値はequalsで比較できない。Setの要素やMapのキーにすることもできない。 参照:http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/CharSequence.html

たとえば、以下のソースでは、sb1とsb2の値は同じだが、
public class StringBufferTrap
{
    public static void main(String[] args)
    {
 StringBuffer sb1 = new StringBuffer("abc");
 StringBuffer sb2 = new StringBuffer("abc");
 
 System.out.println("sb1: " + sb1);
 System.out.println("sb2: " + sb2);
 System.out.println("sb1 == sb2: " + sb1.equals(sb2));
    }
}
equals()で比較すると false となる。

比較したい場合は、toString()などでString型にすること望ましいだろう。
そもそもStringBuffer・StringBuilderは文字列を「作る」クラスであるという認識が足りなかったのが敗因だ。

Javaは手強いな。
いや、equalsくらい定義しといてほしかったところなんだけど。。。ダメな理由は何かあったのかしら。

2011/10/19

macosxでお手軽OpenGL GLUTのメモ

XCodeでGLUTアプリをビルド・実行するのにはあまり障害がないようだ。
XCodeぬきにターミナルでコンパイル・実行するとき、留意するべき2点を備忘のため記す。
  • #include <GL/glut.h> → <GLUT/glut.h> に書き換え (本当に必要かどうか分からず)
  • cc -framework GLUT -framework OpenGL hoge.c

2011/10/18

foursquareのチェックイン履歴をGoogle Calendarに表示

foursquareのチェックイン履歴をGoogle Calendarに表示させた。
これ便利。超お手軽ライフログ。
ちなみに、foursquareの履歴はRSS形式とかiCS(iCalender)形式とかKML形式とかで出力できるらしい。いろいろ連携できますね。

参考にしたサイト
http://nori510.com/archives/1397

2011/09/28

ウェブショップの作成の過程で調べたことや気づいたこと

  • javascriptでは日本語の識別子を使える。小さなウェブショップなどでは特に、細かい商習慣や変則的なキャンペーンを記述するのに便利だと思います。今作っているウェブショップでは積極的に使おうと思っています。
  • jQueryのセレクタで [@name=foo] と紹介しているウェブページがあって、その通りやると構文エラーがでてはまりました。
    2011年9月現在、正しくは [name=foo] です。
    @を使うのは昔の記法のようです。※参考サイト1
  • lolipopでは一応Railsも使えるみたい。Python, Ruby, PHP, Perl。PROLOGが使えるとうれしいのに。
  • これからしばらくのどのHTMLのバージョンを使うか決めた。
    • 枯れたサイトには XHTML1.1 をつかう
    • 遊べるサイトには XHTML5 等をつかっていく
    基本的にセマンティックWebがすきなのでXML。ただ、文法に拘らず魅せるサイトを作っていきたいという思いもあるのでこうなりました。
  • emacsの HideShow minor-mode は、標準ではHTMLに対応してない。elispいじるのめんどくさいなぁ

2011/08/17

MacBook AirにAndroid SDKいれる1

Macbook Air に Android SDK いれるよ。
http://www.textdrop.net/soft/mac-android-sdk-install2/ を参考にしたよ。


  1. android-sdk_r12-mac_x86.zip を展開したよ。
  2. PATHを通したよ。

あ。動いたよ。。。。。さらっと。。。。

2011/08/16

MacBook AirにEclipseいれる1

気分がいいので MacBook Air に Eclipse いれる。
OSX のバージョンは Snow Leopard 、 Eclipse のバージョンは Indigo 。

ターミナルが文字化けすると思ったら、java/javacがLANG無視して(?)ShiftJISを出力してるするのが原因だった。
http://d.hatena.ne.jp/jitsu102/20110111/1294735981 が参考になった。

java,javac起動時に、

java -Dfile.encoding=UTF-8

のようにオプションを渡すみたいにする。

2011/05/08

eCryptfs で "ecryptfs_lookup: lookup_one_len() returned [-36] on lower_dentry"

kernel: [ 1670.684696] ecryptfs_lookup: lookup_one_len() returned [-36] on lower_dentry = [ECRYPTFS_F
NEK_ENCRYPTED.xxxxxxxxxxxxxxxxxxxx.xxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]

このようなエラーが延々と /var/log/syslog に出つづけているのを発見した。
心配なので調べてみたら、既に報告が上がっていた。


どうやら eCryptfs のファイル名暗号化機能(FNEK)の宿命ともいえるバグのようだ。

そんなに長くないファイル名でも、暗号化後のファイル名はかなり長くなる、それがファイルシステムの制限を超えると問題になるようだ。

最近、他OSのマシンとファイルを同期しているので、長いファイル名(マルチバイトのファイル名)を Ubuntu で扱う機会が増えた。

ファイル名がより長く、また多言語になっていく傾向はこれからも続くだろうと思う。

今度 eCryptfs を使うときは、このバグに対する解決が出てこない限り、FNEK なしで使おう。

2011/05/03

disable ibus anthy in emacs

快適な日本語入力のために。
emacsではIBUSのAnthyを無効にできたらいいのに。
できるかなー

2011/04/27

スルー力

スルー力を上げたい。

スルーしないのを美徳としてきたが、もうちょっと相手と相手との関係をみて、相手するかどうかを絞り込もうと思う。

突き詰めたがらない人たちの相手をしても、生産的な議論はできないし、おおよそ相手の教育にもならない。こっちも新しい情報を得ない。それどこか、あらぬ攻撃を受けたりして精神を消耗する。

これからスルー力を上げていこうと思う。並行して、スルーしない条件を突き詰めていこうと思う。そうすればそのうち、スルーしない美徳と、生産的かつ健康的な人生を両立するための、「ノンスルー道」を確立できるかもしれん。その日がくるまで、もうすこし健康と生産性を大切にくらしてみよう。

2011/04/26

つかう(かもしれん)英語の教材

  • iKnow : 音のでる単語帳みたいなもの。有料ですがクオリティ高めだと思うので有料会員になりました。
  • RhinoSpike : 言語交換の一種。相互に文章に音声をつける。
  • VOA Podcasts : VOA-Voice Of America-のポッドキャスト。耳慣らしに使おうと思っている。
  • Yappr : すきな動画に字幕をつけて和訳もしてくれる。というか自分たちで作業する。字幕をつけて翻訳する作業は勉強にはなるが、成果物を見るのは有料だし、クオリティそんなに高くない気がするので使わないかも。
  • http://www.elllo.org/ : どっかでオススメされていたので、とりあえずメモ。

2011/04/25

micro sievert

今更ながら、関東各地の放射線量の可視化サイト マイクロシーベルト.net を紹介しておく。
デザインがシンプルでいい。淡々としているところもまたいい。


もはや空間線量だけで意味のある話ができない事故になってしまったのが残念ではある。

2011/04/23

Magic Pen: score 102

先日もウェブログに書いた、Magic Penっていう物理演算系Flashゲームをやりこんでしまった。

スコア102、週間9位 (実際は11位であるが、1位と2位がスコア0なのはバグかチートだから)。

1手や2手の解法を思いつくと、すごく楽しい。
カタパルトでターゲットを飛ばす方法、鎖と重りでターゲットを無理やり引きずり落とす方法、シーソーの逆側に重りを落としてはね上げる方法、四角いターゲットに車輪をつけて摩擦を軽減する方法、などは思いついた。他にも斬新なテクニックがいくらでもありそう。いつかYouTubeなどで動画を見てみよう。でもまだ見ない。意地。


せっかくやりこんだのでステージ別のスコアを記録しておく。
  • level 1: 1
  • level 2: 1
  • level 3: 2
  • level 4: 2
  • level 5: 1
  • level 6: 5
  • level 7: 4
  • level 8: 5
  • level 9: 5
  • level 10: 4
  • level 11: 6
  • level 12: 1
  • level 13: 7
  • level 14: 3
  • level 15: 2
  • level 16: 3
  • level 17: 3
  • level 18: 5
  • level 19: 5
  • level 20: 5
  • level 21: 7
  • level 22: 4
  • level 23: 4
  • level 24: 5
  • level 25: 7
  • level 26: 5


追記:
Magic Pen 2が出てるようです!

勉強記録:レベル1

時間:英語2時間(累計8時間 レベル1)

内容:今日も英語だけ。iKnowをやった。

詳細:今日も結局2時間ちょい。もっと勉強時間を確保しなければ。
しかし、今日で三日坊主は脱せた。よかった。次は1週間つづけたい。
あと、他の勉強もやりたいですね。他もあったほうが飽きないだろうし。
今のところiKnowに満足している。発音をきいたりディクテーションしたりってのが抵抗なくできるのがいい。


勉強記録について: 1日勉強するとレベルが1上がります。6時間を1日分とします。

2011/04/22

勉強記録:レベル1

時間:英語2時間(累計6時間 レベル1)
内容:また英語。iKnowをやった。センター初級レベルの英語でも発音や綴りを忘れている。やばい。
詳細:今日も結局2時間。毎日6時間には遠い。でも3日連続で勉強している。明日もできれば脱三日坊主だ。めざせ脱三日坊主。


勉強記録について: 1日勉強するとレベルが1上がります。6時間を1日分とします。

ブラウザゲーム「Magic Pen」

Magic Pen っていうブラウザゲームやった。物理演算系のゲーム。
たのしいよ。
音楽もいい。


本日のスコアは655(少ないほどよい)、週間28位 やったー。

2011/04/20

「ゼロリスク幻想」は幻想

「ゼロリスク幻想」は幻想だろう。

ゼロリスクを求める大衆のせいでリスクを開示できないのだ、と思いたい気持ちはわかる。

しかし、実際、人々は適切なリスク開示を受け入れる。ただし、相応の得るものがあれば。人々は、副流煙もタバコもセックスもお酒も飽食も運転も、それどころか、あやしい店であけるピアスのような行為ですら、得る物のためにリスクという対価を支払っている。これらのどれもやったことがないという人がほとんどいない。彼らはそれらのリスクをゼロだと見積もっているわけではない。

リスク開示をすると人々が過剰に反応するように錯覚するのには理由がある。人々は、適切なメリットを受け取っていない場合、リスクを対価として支払うことを拒否するからだ。

人々がメリットに相応した対価だと判断するには条件がある。1つはメリットを算定できること。もう1つはリスクを自分たちで値踏みできること。そして最後の1つが、最終決定権が自分たちにあることだ。

たとえれば、すなわち、人々は何の商品を分からずに買うことはないし、値段がわからずに買うこともない。そして、決定権がない売買などはしない。


放射能漏れ事故等のリスクの開示について、人々が過剰に反応するのは、その3つの条件を満たさないからだ。


1.人々は受けとるものを交渉できない。
人々は(たとえば原発から)受け取ったメリットを知らない(何も受け取っていないかもしれない)。
我々は商品の押し付けには不寛容だ。欲しくない物を突然押し付けられれば、それは「合理的な市価」より安く見積もられる。

2.人々はリスクの算定ができない
結局のところ情報開示が不十分なので、人々はリスクが算定できない。
小さな瑕疵を報告してこなかったという今までの悪い実績は、人々の信頼を損なっている。そのため、人々はより小さなリスクしか対価として認めない。
過去に対価の水増し請求をしてきた者は、なかなか信用されない。

3.決定権がない。
人々は、原子力発電所のメリットと対価について、契約した記憶をもたない。形式上は、立法を通じて同意したことになっているが、おおよその人々はそのような認識をもっていない。
人々は無理やり結ばされた契約を契約とみなさない。


ゼロリスク幻想はリスク開示をしたくない者にとって便利な言い訳だ。しかし、事実は違う。人々はリスクを受け入れる。たしかに、長い間情報開示を怠ってきた分だけ、より多くのメリットを提示しないと人々は納得しないだろう。しかしそれは今までの債務であって、リスクを与える者が支払うべきコストだ。

勉強記録:レベル0

時間:2時間(累計4時間 レベル0)
内容:また英語。iKnow(旧 Smart.fm)をひさびさにやった。半年で2400円の有料会員にした。
詳細:今日も結局2時間。毎日6時間にはまだ遠い。とはいえ2日連続で勉強したのは進歩。

勉強記録について: 1日勉強するとレベルが1上がります。6時間を1日分とします。

2011/04/19

Get Naked Please

Get Naked Please
しょうもないんだけどこういうの好き。

2011/10/18 追記:
元サイト(英語)

勉強記録:レベル0のまま

時間:2時間
内容:英語。Yapprのクラス分けテストと、映像1本。
詳細:今日は6時間勉強する!って思ったのに、結局2時間でした。タイマーかけるとちょっと勉強する気になるなぁ。

勉強記録について: 1日勉強するとレベルが1上がります。6時間を1日分とします。

2011/04/17

pukiwikiのデータファイルのオーナーがwww

pukiwiki(含むBBS)のデータファイルのオーナーがwww(つまり、たぶんhttpd)になってて、めっちゃややこしい。
とりあえずオリジナルを複製して自分がオーナーのファイルを作って編集したけど、これは本質的な解決ではない。
ルート権限もないしどうしたものかね。

サーバ管理者の手を煩わせるしかないのかしら。ウーム

2011/03/21

浜松市楽器博物館に行った

昨日、浜松市楽器博物館に行った。
http://www.gakkihaku.jp/

すごいよここ。

まず収蔵数がすごい。1日じゃ回りきれなかった。
すぐに使える状態の楽器がたくさんあって、たまに演奏会もやるらしい。すごい。
展示品の状態がいい。すごいいい。たとえば、ピアノのアクションの模型の展示などがすべて正確に動く。
エスケープメントが何か、とかよく分かる。すごい。
解説や音を聞ける設備も充実している。すごい。

すごいおすすめ。
浜松にいったらまた行きたい。

2011/02/28

My first post in English

I start writing posts in English

I try to write my blog posts in English to enhance my English skill. I have been too shy to use my terrible English, but now I think it is time to trash my useless cowardice.


About this blog

The themes of this blog is the Android, GNU/Linux, Ubuntu, etc. Sometimes i write my personal things like about my favorite cafe in Shimokitazawa(in Tokyo Japan), bicycle, etc.


Android Development and Translation/Localization to Japanese

Recently I have strong interests to develop Android Applications. And i also have interest to localize FLOSS softwares to Japanese. If you need my help, I am pleased to help translation. Please email to kazuto at kz-soft dot com. You can also contact me by twitter. @kztjn


Thank you for reading this post.

女性問題についての講演の手伝いのようなものの残滓

  • 男女混成チームは、男だけあるいは女だけのチームより作業効率が高い。
    • ソースは見つけてない。ごめん。
  • Queen Bee Syndrome (女王蜂症候群)
  • かつての『男社会』でのし上がったパワフルな女性上司が、1年の産休を長すぎると見なし退職をほのめかす例
  • 女性は女性にイジワルかもしれない…という調査。
    • オフィスいじめ「女性の天敵は女性」との調査結果 ※ロケットニューズでは『「Workplace Bullying Institute」擁護団体による調査』としているが、これは『人権擁護団体「Workplace Bullying Institute」による調査』の誤訳だと思われる。
    • ニューヨークタイムズの元記事:Backlash: Women Bullying Women at Work
    • 権利擁護団体「Workplace Bullying Institute」によるサーベイとのこと。論文とかじゃないのでソースとしては弱いような気がする。

2011/02/23

Minecraft

Minecraft ってゲームがおもしろそう。
なんと GNU/Linux でも動くらしい! ということで Minecraft のウェブサイトに行って Minecraft (Classic) を起動してみたが、Java Applet が起動直後にフリーズ。
調べてみたら Minecraft は Sun Java じゃないと動かないようだ。
僕の環境には OpenJDK(IcedTea) が入ってる。

そこで、sun-java6-plugin パッケージをインストール。
ブラウザのOpenJDKプラグイン (僕のはGoogle Chromeで IcedTea) を無効にして、ブラウザ再起動。

無事 Minecraft が動い…てない。
どうやらインプットメソッドが邪魔をしているようだ。
IBus wo shuuryou suru.


これで一応うごいたが、サウンドが出ない。
padspをかませて起動したら音が出るらしいという記事をみて、
minecraft.jarをダウンロードしたものの、jarファイルのmanifestがおかしいと文句をいわれーの、あきらめーの、とつぎーの。

とりあえず音なしで動いている。

Ubuntu Tips Applet

ubuntu-tips-applet を入れてみた。
Get random Ubuntu tips on your desktop
fortuneとか懐かしい。

2ch-fortune なんてものもあるのか。読んでみた(けど、インストールしてない)。

URE = UNO Runtime Environment

/usr/lib/ure

ってなにかと思ったら、

UNO Runtime Environment Object とかいうものだった。
UNO (Universal Network Object) は OpenOffice.org が使ってるコンポーネントモデル、らしい。
よくわからんが OpenOffice.org 関連ということを把握。おk


2011/02/11

Eclipseでemacsキーバインディング

標準のemacsキーバインディングでは不満なので(とくに、Ctrl+/ がアンドゥでないところ)、Eclipseにemacs+というプラグインを入れてみた。

Help → Install New Software... → http://www.mulgasoft.com/emacsplus/update-site
以下の2つをインストール。
  • Emacs+
  • Emacs+ Options

Optionsの方もふくめ2つのプラグインをインストールすっと、Ctrl+/ がアンドゥになった。
さらに、Preferences → General → Keys → Redo に Ctrl+Shift+/ を割り当て。

これで Ctrl+/ で undo, Ctrl+Shift+/ で redo ができる。ヤッター!
emacs感20%アップです!(当社比)

EclipseでPython

Pythonやってみました。
はじめてのPythonです。わくてか。
Hello Python!

メモ
  1. 参考サイトさがす → http://blog.mwsoft.jp/article/34204551.html
  2. Pydev のインストール (Eclipse → Help → Install New Software... → http://pydev.org/updates
  3. Eclipse -> Windows -> Preferences -> Pydev → Interpreterでちょっと設定がいるっぽい。
    ぼくは自動設定機能を使ってみた。


Eclipseクイック・フィックス機能も動きました。