Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2011-08-01

seuzo2011-08-01

[]Web開設16年目

なにげなく7月が終わり、なんのおとないもなく8月になった。

1996年の7月にぼくは自分のWebサイトを初めて持った。それがいまも続いているShow Time +oneだ。ネーミングセンスが悪い*1のは知ってるし、キ色がみなさまの目にとって不興を買っている*2のも分かってる。けど、まあ15年もよく続けられたものだ、えらいぞ。<自分でいうな

このサイトは当初ASAHI-NETさまのスペースで始めた。2001年7月にseuzo.jpドメインを取り、自宅のサーバーを立てた。この時、DNSはわださんちのサーバーを指していて、中身だけを自宅サーバーから飛ばすという、なんとも不思議なサイトだったと思う*3。自宅のサーバーのお守りがめんどくさくなってきたので、2008年3月からxreaさまのレンタルサーバーに全面移行して現在に至る*4。Visitorのみなさまをはじめ、ご協力いただいたすべての人に感謝します。I thank you!

15年といえば、たけうちとおるさんの「単福」も同じ1996年の7月が誕生日だ。先日、たけうちとおるさんと何人かの友人で一緒にお祝いをした。「お互いよくがんばりましたねー」と。「20年目がお祝いできるかどうかわからんねー」と。それほどぼくらの将来は暗い。それでも16年目を迎えてしまった。


暗い話題で〆るとごはんがおいしくないので、お蔵出しするよ!

2007年9月に行われたConferences: The InDesign Conference: 2007: 東京でのショット:

f:id:seuzo:20110801123917j:image*5

謝ってます。

えー、あれだ。この時、元MdNの猪俣さんに声をかけていただいて、初期MdNに対する感謝を表したかったんだと思う*6。け、決してAdobe Loveってことじゃないんだからね!

たしかこのカラーとカットでギャラのほとんどが消えたんだよね^^ そんな無駄遣いがまたいつかできるといいな。

*1:知ってる人は知ってるけど、showtimeは昔使っていたマシンのログイン名でした

*2:手が空いたら必ず修正します。手が空いたらね...

*3:いつだったか、肺に穴があいて入院した時、自鯖IPアドレスが変わってしまって1週間ほど行方不明になったりしました^^

*4:この時にサーバー上でいい加減に運用してきたBBSを閉鎖して、このブログを始めました

*5:photo by akane_neko

*6:だれも(猪俣さんでさえ)そう見なかったと思うけど...

2009-08-03

[][]自慢じゃないですが、いままで一度だって日本語ファイル名をサポートしたことはありません。

日本語ファイル名を扱うのはとてもやっかいなことだ。そうしたことに努力を傾注する方々を見るにつけ、強い敬意を覚える。たいへんだろうな、とも思う。クライアントから渡されるファイルのファイル名が日本語バリバリロケンローだったとしても、無下に突き返すわけにはいかない。なんとかするのがプロってものだろうとも思う。

しかしながら、この問題を積極的にフォローしようって気分にはどうしてもなれない。

第一に、自分がまったく日本語ファイル名を使わないから。実害がぜんぜんないんだよね。まったく平和で困っていない。正規表現の使えるリネームソフトがあれば、たいていの問題は平和的に解決できている。

第二に、日本語名はどこかで必ず破綻するから。ファイル名を使うのはアプリケーションだけじゃない。OSにしろ、ネットワークにしろ、CUIにしろ、必ずどこかで問題になる。バージョンやその組み合わせによっても対応が違う。だってさ、ISO 9660 Level 2に準拠していないんだもん。


日本語ファイル名によって、なんらかの不具合が起きた時「バグだバグだ」と騒ぐ人たちがいる。圧縮ソフトで文字化けしては騒ぎ、FTPや宅ふぁいる便で文字化けしたと騒ぎ、ホームページにアップしても見られない(なんかヘンな日本語だな^^)と言ってはサポートを困らせる。もっと平和に暮らせないのかね? 世界的に見れば、ほとんどのプログラマは英語圏にいる。そこでは日本語ファイル名などまったく想定されていない。仮にUTF-8対応で見えていたとしても、それが文字化けせずに正しく表示しているかどうかの判定すらできない。

とりあえず、騒がれる前にちゃんと書いておこう。

自慢じゃないですが、ぼくはは一度だって日本語ファイル名をサポートしたことはないです。


参照

ファイル名規則 - 名もないテクノ手

PowerRenamer

多機能リネームソフト - Shupapan

2009-05-26

[]ドネーションのご案内

現在、わたしが「Show Time +one」「名もないテクノ手」などで個人的に公開してるスクリプトの使用や各種情報に対して、金銭的な対価を支払う必要はありません。その方針は今後とも変わりません。たぶん。

だがしかし。開発やメンテナンスにかかる手間と時間。参考書籍や機器、ソフトウエアの購入。さらにサイト運営費などはすべて個人の持ち出しになっています。こうした「清廉潔白さ」はわたしの好感度をますますアップさせますが、現状はかなり汲々としています。たまにちょっと疲れちゃうのです。ときどき回っていないお寿司も食べたいんです。

ということで、せうぞー活動に対してなんらかの援助をする各種方法を書いておきます。こころおきなくご利用くださいませ。

アフィリエイトのご利用

Adobe製品のご購入の場合は下記バナーからAdobeストアに入ってください


Apple製品をご購入の場合は下記バナーからアップルストアに入ってください


Amazonでのお買い物は下記から検索してください

Amazon


Amazonのセレクトショップ(主に自分で買ってよかったもの)

せうぞー商店


はてなポイントを送付

はてなユーザーの方ははてなポイントを購入していただき「はてなポイントを送付」いただけます。「送信先はてなID」は「seuzo」になります。


コンサルタント

簡単なスクリプトの質問やカスタマイズなどのご相談に応じます。こちらはお仕事としてやらせていただきますので、決してお安くはありませんが誠実に対応いたします。

オファーはメールフォームからお願いいたします。


最後に...

一般的にアフィリエイトはよほどの人気サイトでない限り大きな収益は見込めないと言われています。

このブログに限らず、ブログ内のアフィリエイトを利用することは、そのブログへの支持を表明する手段であることを知っていただきたいと思います。

2008-11-07

[][][]User-Agentを名乗らない者にトビラを開けない。

うちのseuzo.jpは「ぶっこ抜き」禁止なんである。共用サーバーでそういう人がいるとレスポンスが落ちるから(たぶんうち以外にも)。逃げたりしないし、気分的によくないしね。ちなみに、発見したら組織ごとアクセス禁止になりますので、ご注意くださいませ。

んで、User-Agentを名乗らない作法で入ろうとすると、もれなく403 Forbiddenをお見舞いすることになっている。夏ぐらいから。すっかり忘れていた。

秘密な感じのアプリケーションを作るとき、わたしはよく「時間」をサーバー上からもってきたり、特定のIPだけに実行許可を出したりしている。そうすることで、デモ期間を厳密にしたり、実行場所を制限できるアプリケーションになる。で、このまことに姑息な手段が、裏目に出てしまった。たとえば、こんなふうにrubyでおとないを告げると、ウチはエラーになる。

$ ruby -ropen-uri -e 'open("http://www.seuzo.jp/st/index.html").read.display'

オレが一番あやしかった!orz

だから少なくとも、こんな風に呼ばなくちゃいけない。

ruby -r open-uri -e 'open("http://www.seuzo.jp/st/index.html", "User-Agent" => "Ruby/#{RUBY_VERSION}").read.display'

net/httpライブラリを使うならこんな感じ

require 'net/http'

Net::HTTP.version_1_2

Net::HTTP.start('www.seuzo.jp', 80) {|http|
  response = http.get('/st/index.html',{'User-Agent' => "Ruby/#{RUBY_VERSION}"})
  puts response.body
}

名乗ったから由緒正しいってわけではないけれど。これもまた気分の問題か。。。

2008-10-26

[][]ライセンスについての模索

自分のよくわからないことについては、語るべきじゃないと思う。だから、ライセンスの話なんかするのはとても気が重い。わたしに興味がないばかりでなく、法律的な適任者でもない。だけど法律の方は、わたしのことを自動的に著作権者にしてくれている。そして、わたしが自分で作ったものに対して、あれこれ他人に指図できるのも著作権者の権利ということになっている。そんな名前も権利も欲しいとお願いしたことはないけれど。

ではなぜ、こんなエントリーを書いているのか? それは、わたしが公開したものを自由に使ってもらいたいと考えているからだ。もしあなたが、仕事でわたしのプログラムを使ってくれていて、それをほかの誰かにも使わせてあげたいときどうすればいいか?*1 もしあなたが、スクリプトを書いていて、わたしのコードの一部を使いたい時どうすればいいか? 実はわたしの方は一向に構わないんだけれど、なにかしらの基準がなければ、戸惑ってしまう人も多いだろう。著作権に関してせちがらい世の中だ*2。いつまでも無頓着ではいられない。いちいちお問い合わせをいただくのも忍びない。ここはひとつ、自分の立ち位置や考えを公にしてみようじゃないの。


そもそも、わたしが知的財産権や著作権についてもっと基本としたい考え方は、山形浩生さんの「新教養としてのパソコン入門 コンピュータのきもち」にある一文だ。

知的財産というものを考えるにあたって、絶対におさえておくべき基礎がある。それは、知的財産というのが基本は人類全体の財産だということだ。知的財産、つまり情報はいくらでもコピーできて、いろんな人が同時に使える。ぼくの知っていることをあなたに教えても、ぼくの知識は減らない。そしてぼくが知っていることをあなたに教えれば、あなたとぼくとが同時にその知識を使っていろんなものを生産できる。その知識を知っている人が多ければ多いほど、生産できるものは増える。

(中略)

ただし、もしそうやって何でも自由に配布していいことにすると、作るほうの人が苦労して新しい知的な財産を作らなくなるだろう、という心配がある。見返りがなければだれも新しい発明や、新しい小説や、新しい音楽や映画を作らないだろう。それではかえって困るので、一時的に限られた独占権を認めることで、発明家や開発者やアーティストたちにいろんなものをどんどん作ってもらおう。そのための独占権が、著作権というものだ。

    新教養としてのパソコン入門 コンピュータのきもち p.194-195より引用

同書では、写真を例に出してさらに論が進んでいくが、要するに自分は世界の創造主ではないってことだ。自分をとりまく世界のすべては、ほぼ他人によって作られている。自分自身の知識でさえ自分のものだと主張できないほどに。自分の創作物の中で、本当に純粋にオリジナルな部分など、砂浜の中の砂粒ほどのものだ。*3


はるか昔にはPDS([Public Domain Software)なんてライセンスが流行ったことがあった。しかし、ご存知のとおり日本の著作権法では、厳密には著作者人格権を放棄できない。それにまあ、いろいろと苦い経験などもあって、うかつにPDSなどと名乗るほど若くはなくなってしまった。

ここはまあ、世界基準のGPLに準拠すべきか。たしかにGPLは優れたライセンスだけれど、コピーレフトを強制するのは申し訳ないような気がする。しかし、わたしが取り込んだコードがGPLならば、GPLを選択しなければならない場合もあるかもしれない。RubyやPerlはそれぞれ、「Ruby License」「Artistic License」があり、GPLとのデュアルライセンスを採っている。これら独自のライセンスもすばらしいのだけれど、わたしが書くようなコードもどきには、ちょっと大袈裟な感じがしてしまう。

あと、ひとつだけ希望がある。それは、わたしのコードを改変して再配布する場合は、わたしのクレジットを外して欲しいのだ。わたしは、わたしの手を離れたコードがどのように使われようと関知しない。わたしの(拙い)コードを読み込んで使ってもらえたなら、嬉しいことだし、きっと既にその人のコードだろうから。しかし、現実的にクレジットの削除はされないだろう、おそらく良心によって。

たぶん、わたしの理想は「良識の範囲」で自由に使ってもらうことだろうと思う。プログラムを秘匿化して異なった名前で再配布すれば盗用だが、オリジナルの入手先を明示した上でコンサルタントすればビジネスになる。コードをろくろく読みもせずコピー&ペーストすれば剽窃だが、十分に読み込んでうまく取り入れられたらそれは学習なんだ。ただ、良識は明文化されなければあやふやな解釈を生むだけのような気かする。時代の価値観によっても大きく変わるかもしれない。


すこしばかり憂慮すべきこともある。近年、スクリプトと呼ばれる分野でもコードの秘匿化や、バイナリコードの生成技術の進歩がある。こうした技術は、コピーガードの最初の砦であるし顧客に対するビジネスにもなりうる。しかし、なんらかの悪意ある改変が行われた上で秘匿化され、再配布されたらどうか? たとえば、ネット上にあるプログラムに対して、ローカルの情報をPOSTされたら…。あるいは、なんらかのバグがデータを破壊するような挙動をしたとしても、プログラムを修正することもできないだろう。エンドユーザーが被害を被るような再配布は避けなければならない。スクリプトコードの秘匿化には同意しない。


ご意見などがありましたら、コメントをいただければ幸いです。


現時点での方針(2008-10-30追記)

わたしが守りたいのは、以下の3者の利益です。

  1. ツールとして使っていただいているエンドユーザの利益。
    • 対価の発生しないフリーウエアであること。利用には商用・非商用の区別なく制限がないこと。
    • 悪意あるバイナリが再配布されないこと。
  2. コードを書く人のために自由に使える利益
  3. わたしが不利益を被らない利益
    • 無保証であること。

であるならば、現時点でのライセンスは「GNU GPLv3」にするのが妥当だと考えます。GPLライセンスを選択する場合は、必ずその旨を明記しますので、尊重していただければと思います。

ただし、サブルーチンなどの部分的な引用については、学習と見なすのが適当だと考えます。厳密な線引きはしません。

以上、勝手ながらみなさまのご理解をいただければ幸いです。よろしくお願いいたします。


参考

コモンズ

GNU Lesser General Public License

GNU GPLv3 日本語訳

rubyのライセンス

Artistic License

さまざまなライセンスとそれらについての解説

ソフトの配布とライセンス

*1:URLを教えてダウンロードしてもらえばいいんだけど^^

*2:高校生が文化祭で上演する戯曲に許可が必要だって? 孫世代まで生活が保証されないと創作意欲が湧かないって? 某TV局では、自社社屋に肖像権があるって主張してるって?

*3:プログラミング世界も例外じゃない。コンピュータは誰が作った? コンパイラは、アプリケーションは、開発環境は、エディタは誰が作った? あまたのプログラミング理論やテクニック、数学的に証明済みのアルゴリズムは? なにげなくIncludeしたそのライブラリは?