May 2005
May 23, 2005
さほど親しくもない人とか、割と真面目な会話しかしない相手と話す時に、その相手が 2 ちゃんねらーなのかどうかを見極めるタイミングがなかなか難しい。
「いやー、ほんとアレはだめだね。全然だめぽ」
末尾にさりげなく ねらーなら理解してくれる一文字を付加する。
反応 A:「ん?ぽ??」
確実に 2ch などという存在を知らない人。こういう人には、あたかもナニゴトもなかったように「いやぁ、だって、ホントだめじゃない?」とか 2ch 用語以外のみで形成されたセンテンスをかぶせにかぶせて、「ぽ」の一文字を末尾に含めて発してしまった過去の誤ちを徐々に中和する。
反応 B:「ほんとだよねぇー」
これが一番謎。「ぽ」が聞こえなく普通にスルーされたのか、2ch 用語であることを十分に認識した上で会話が続いているのかがわからない。この反応をされた時が一番ショボーンになる。
でもこのパターンの場合、相手に「この人なんで最後にぽって付けたんだろう…。ってそんなこと聞けないよなぁ…。」とか思われる、所謂「聞こえた上で普通にスルー」されている可能性も高いので非常に恐ろしい。
反応 C:「ほんと全然だめぽだよねぇー」
そう、そんな返しが出来る君には今後「いやぁ、香具師は確実にドキュソな基地外だしさー」とか言っても全然平気だと判断します。でもそれに「は?ドキュソ?やし?」とか返してきた時点で「君、今日から逝ってよしお君ね」と名付けてあげます。
反応 D:「うはっ!ワロス!!たしかにだめぽだよホント。漏れ的にも全然だめぽよ」
「君も 2 ちゃんねらーだったかぁっ!!」と言わんばかりに目を潤ませながら、今まで一度も発したことのない 2ch 用語をふんだんに織り交ぜてそう反応して来る君は、ハッキリ言って暑苦しいキモイ奴以外のナニモノでもないので、もう話をしたくありません。
まとめ: あなたが 2 ちゃんねらーの場合、相手から 2 ちゃんねらーであるかどうかの探りを先に入れてこられた場合には、オウム返し程度に同じ用語を都度返してあげるのがベストでしょう。
「だめぽだね」
「うん。だめぽだね」
「アレはかなりウマーよ」
「へー、ウマーなんだ」
「禿ワロス」
「禿ワロスだねー」
ツマンネ。
「いやー、ほんとアレはだめだね。全然だめぽ」
末尾にさりげなく ねらーなら理解してくれる一文字を付加する。
反応 A:「ん?ぽ??」
確実に 2ch などという存在を知らない人。こういう人には、あたかもナニゴトもなかったように「いやぁ、だって、ホントだめじゃない?」とか 2ch 用語以外のみで形成されたセンテンスをかぶせにかぶせて、「ぽ」の一文字を末尾に含めて発してしまった過去の誤ちを徐々に中和する。
反応 B:「ほんとだよねぇー」
これが一番謎。「ぽ」が聞こえなく普通にスルーされたのか、2ch 用語であることを十分に認識した上で会話が続いているのかがわからない。この反応をされた時が一番ショボーンになる。
でもこのパターンの場合、相手に「この人なんで最後にぽって付けたんだろう…。ってそんなこと聞けないよなぁ…。」とか思われる、所謂「聞こえた上で普通にスルー」されている可能性も高いので非常に恐ろしい。
反応 C:「ほんと全然だめぽだよねぇー」
そう、そんな返しが出来る君には今後「いやぁ、香具師は確実にドキュソな基地外だしさー」とか言っても全然平気だと判断します。でもそれに「は?ドキュソ?やし?」とか返してきた時点で「君、今日から逝ってよしお君ね」と名付けてあげます。
反応 D:「うはっ!ワロス!!たしかにだめぽだよホント。漏れ的にも全然だめぽよ」
「君も 2 ちゃんねらーだったかぁっ!!」と言わんばかりに目を潤ませながら、今まで一度も発したことのない 2ch 用語をふんだんに織り交ぜてそう反応して来る君は、ハッキリ言って暑苦しいキモイ奴以外のナニモノでもないので、もう話をしたくありません。
まとめ: あなたが 2 ちゃんねらーの場合、相手から 2 ちゃんねらーであるかどうかの探りを先に入れてこられた場合には、オウム返し程度に同じ用語を都度返してあげるのがベストでしょう。
「だめぽだね」
「うん。だめぽだね」
「アレはかなりウマーよ」
「へー、ウマーなんだ」
「禿ワロス」
「禿ワロスだねー」
ツマンネ。
May 18, 2005
Blog Hackers Conference 2005
とのことです。
それぞれのリンク先をご覧いただけるとわかると思いますが、僭越ながら Lightning Talks のセッションでチョロっと喋らせていただく予定です。
基本的に、このイベントの名前の通り、Blog Hacker 向けの Conference ですし、私を除き、そうそうたる顔ぶれですので、基本的には、Blog 周りの tech な話題中心かと思います。
ですんで、かなりアレな話が多いでしょうから、専門でない方が参加されたりすると、かなり退屈な時間になるだけかと思われます。
まぁ、"Blog Hackers" とか言っておきながら、私は他の方々のように自前で Blog を立てているでもなく、普通に livedoor Blog のサービスを使ってますしね。
「どこが Blog 周りの tech なんだよ」とツッコミを頂くかも知れませんけど、いや、結構カタいネタかも知れないですよ。
まぁ、この Blog でも時々カタいネタ書きますしね。
まぁ、、、
Conference の詳細に、本名ではなく「にぽたん」と書かれているのが何を意味するのか、、、
そのあたり、やんわり空気を読まれるのがよろしいかも知れんです。
Blog Hacks イベントの第2弾を開催します。O'Reilly Village / オラの村: 今年もやります Blog Hackers Conference 2005 開催!
Blog Hacksの著者や寄稿者をはじめとするBlog Hackerたちが現在のBlogシーンを語る!2005年の新作Hacksも紹介!
著者、寄稿者をはじめとする Blog Hacker によるプレゼンテーションを予定しています。開催まで間がありませんが、ぜひご参加ください。なお、書籍 Blog Hacks をお持ちでない方も参加可能です(会場で販売も予定しています)。
とのことです。
それぞれのリンク先をご覧いただけるとわかると思いますが、僭越ながら Lightning Talks のセッションでチョロっと喋らせていただく予定です。
基本的に、このイベントの名前の通り、Blog Hacker 向けの Conference ですし、私を除き、そうそうたる顔ぶれですので、基本的には、Blog 周りの tech な話題中心かと思います。
ですんで、かなりアレな話が多いでしょうから、専門でない方が参加されたりすると、かなり退屈な時間になるだけかと思われます。
まぁ、"Blog Hackers" とか言っておきながら、私は他の方々のように自前で Blog を立てているでもなく、普通に livedoor Blog のサービスを使ってますしね。
「どこが Blog 周りの tech なんだよ」とツッコミを頂くかも知れませんけど、いや、結構カタいネタかも知れないですよ。
まぁ、この Blog でも時々カタいネタ書きますしね。
まぁ、、、
Conference の詳細に、本名ではなく「にぽたん」と書かれているのが何を意味するのか、、、
そのあたり、やんわり空気を読まれるのがよろしいかも知れんです。
May 17, 2005
弾さんによる、Jcode の version 2.00 がリリースされました。
Encode is now 2.10! Jcode is now 2.00!
以前、Jcode を多用している弊社の社内技術者向け MTG 用の資料として、新 Jcode 調査と銘打ち、手元の OS X に入っている perl (v5.8.6 built for darwin-2level) で、新 Jcode と 旧 Jcode における各種変換処理 の benchmark 計測を行なってみたことがありましたが、新 Jcode について要点をまとめると、
JIS に関しては「Shift_JIS との相互変換」は、新旧ほぼ同じぐらいの処理速度だったのに対し、それ以外との相互変換になると新は旧の倍ぐらいの処理速度になってしまうことがわかります。
また、インスタンス内部で保持させている元の文字コードは、旧の場合は EUC-JP で、新の場合はUCS-2 (訂正) flagged UTF-8 であり、これらの文字コードを起点とした変換処理になるため、例えば下記のような「イレギュラーな使用方法」を行なっている場合に、互換動作しません。
UCS-2 (訂正) flagged UTF-8 に変換されます。
当然、リファレンス渡しをしている以上、この後に
ただし、この時点で変換されるというのは「副産物」であり、それをあえて使用するのは、紳士協定違反みたいなものです。
これは勿論 undocumented な手法ですので、ここに互換性を期待する時点で間違いかも知れません。
また、インスタンスに
# この場合、overload によって文字列として使用 (stringify) される場合適宜 de-reference される特性を利用するのが正しい
このようなイレギュラーな使用方法をしていない限りは、旧から新への移行は問題ないと思われます。
移行前には、一旦移行対象のコードを査読されたほうがベター。
ちなみに、今まで Jcode を使っていなかった方は、素直 (?) に Encode を使用されたほうが良いと思います。
ちなみに、Changesには
何せ本名じゃないからね
cf.「これ、最強。何せ本名じゃないからね」シリーズ
その 1、その 2
弾さんにも普通に「にぽたん」と呼ばれていますし、今度某所で「にぽたん」の名前で喋らせていただきます。
いや、CPAN 上では、ちゃんと本名で生息していますよ。
不良 CPAN Author ですみません。。。
Encode is now 2.10! Jcode is now 2.00!
以下,Jcode 2.00 の要点のみをまとめます。ということで、Encode Wrapper として、Jcode-0.8x 互換になります。
- Jcode 2.0 より、お使いの Perl Version が 5.8.1 以降の場合は Encode の Wrapper として機能するようになりました。
- この場合、Jcode.pm は付属モジュールを必要としないため、 jcode.pl の場合と同様、Jcode.pm を Library Path に置くだけで利用できるようになります。
- それ以前のPerlをお使いの場合、Jcodeはver. 0.88と同じように機能します
- 日本語podが付きました!
以前、Jcode を多用している弊社の社内技術者向け MTG 用の資料として、新 Jcode 調査と銘打ち、手元の OS X に入っている perl (v5.8.6 built for darwin-2level) で、新 Jcode と 旧 Jcode における各種変換処理 の benchmark 計測を行なってみたことがありましたが、新 Jcode について要点をまとめると、
- JIS とそれ以外の相互変換が遅い
- Shift_JIS とそれ以外の相互変換は早い
JIS に関しては「Shift_JIS との相互変換」は、新旧ほぼ同じぐらいの処理速度だったのに対し、それ以外との相互変換になると新は旧の倍ぐらいの処理速度になってしまうことがわかります。
また、インスタンス内部で保持させている元の文字コードは、旧の場合は EUC-JP で、新の場合は
use Jcode; jcode(\$sjis_str, 'sjis');
$sjis_str が、Shift_JIS の文字列である場合、コンストラクタに scalar ref を渡した時点で旧の場合は EUC-JP、新の場合は 当然、リファレンス渡しをしている以上、この後に
print $sjis_str;とすれば、それぞれ異なった結果が得られることがわかります。
ただし、この時点で変換されるというのは「副産物」であり、それをあえて使用するのは、紳士協定違反みたいなものです。
これは勿論 undocumented な手法ですので、ここに互換性を期待する時点で間違いかも知れません。
また、インスタンスに
bless されているのが、旧の場合は array ref、新の場合は hash ref であり、旧の場合に array ref が bless されていることを知った上で de-reference を行なってその値を利用するようなコードを書いている場合も、当然新 Jcode 上では "Not an ARRAY reference" という怒られ方をします。# この場合、overload によって文字列として使用 (stringify) される場合適宜 de-reference される特性を利用するのが正しい
このようなイレギュラーな使用方法をしていない限りは、旧から新への移行は問題ないと思われます。
移行前には、一旦移行対象のコードを査読されたほうがベター。
ちなみに、今まで Jcode を使っていなかった方は、素直 (?) に Encode を使用されたほうが良いと思います。
ちなみに、Changesには
1.99_07 2005/03/08これ、最強。
! Jcode.pm
jfold() fixes by nipotan
http://blog.livedoor.jp/nipotan/archives/15894714.html
何せ本名じゃないからね
cf.「これ、最強。何せ本名じゃないからね」シリーズ
その 1、その 2
弾さんにも普通に「にぽたん」と呼ばれていますし、今度某所で「にぽたん」の名前で喋らせていただきます。
いや、CPAN 上では、ちゃんと本名で生息していますよ。
不良 CPAN Author ですみません。。。
May 16, 2005
sudo コマンドを実行した際、パスワードの入力を間違えると、時々ムカつくメッセージやら、おもしろいメッセージやらがランダムで登場します。
% sudo vipw Password: Maybe if you used more than just two fingers... Password: BOB says: You seem to have forgotten your passwd, enter another! Password: stty: unknown mode: doofus sudo: 3 incorrect password attemptsちょっとおもしろムカつきつつ、なんだか全種類が知りたくなった。。。
ってことで、
sudo-1.6.8p8 から、メッセージ集を作ってみました。作成方法はいたって簡単。
% tar zxvf sudo-1.6.8p8.tar.gz
% find sudo-1.6.8p8 -name ins_\*.h -exec grep '^ *"' {} \; \
| perl -p -e 's/^\s+"(.+?)",/$1/' \
| sort
こんなです。
で、完成したおもしろムカつきメッセージ集はこんなカンジ。続きを読むMay 12, 2005
某氏が扱ってるある案件で、Emacs で開くとどうしても化けてしまう EUC-JP で保存されているファイルがあった。
で、どうしても化ける原因を探った時「機種依存文字があるんじゃないか?」と疑いはじめた某氏と、そのファイルから目視でその文字を探そうと思ったんだけど、結構デカめのファイルだったので気が遠くなる。
そこで、こんなワンライナーで、登場する EUC-JP 文字を一文字ごとに改行で区切って出してみた。
なかなかおもろいけど、おもろさを求めてるわけではないし、文章を読んでも仕方ないので、使用されている文字を一覧してみる。
ちなみに、使用文字ランキングを出したければ、こんなカンジ
何文字あるか数えたかったので、この出力に、下記のようにしてとりあえず行番号振ってみた。
何だかランキングの順位が出てる風でちょっとステキ。
ちなみに、これで機種依存文字が見付けられなかったので、結局のところ原因不明 orz
で、どうしても化ける原因を探った時「機種依存文字があるんじゃないか?」と疑いはじめた某氏と、そのファイルから目視でその文字を探そうと思ったんだけど、結構デカめのファイルだったので気が遠くなる。
そこで、こんなワンライナーで、登場する EUC-JP 文字を一文字ごとに改行で区切って出してみた。
perl -n -e 's/[\x00-\x7E]//g; \
print join("\n", /(..)/g), "\n" if /\S/' \
filename
これやるとゾロゾロと縦書きで日本語の文章が出てくる…。なかなかおもろいけど、おもろさを求めてるわけではないし、文章を読んでも仕方ないので、使用されている文字を一覧してみる。
perl -n -e 's/[\x00-\x7E]//g; \
print join("\n", /(..)/g), "\n" if /\S/' \
filename | sort | uniq
これで、目視確認が少しでもラクになったってもんさ。ちなみに、使用文字ランキングを出したければ、こんなカンジ
perl -n -e 's/[\x00-\x7E]//g; \
print join("\n", /(..)/g), "\n" if /\S/' \
filename | sort | uniq -c | sort -nr
そういや行に番号振るってコマンド無いのかな…。何文字あるか数えたかったので、この出力に、下記のようにしてとりあえず行番号振ってみた。
何だかランキングの順位が出てる風でちょっとステキ。
perl -n -e 's/[\x00-\x7E]//g; \
print join("\n", /(..)/g), "\n" if /\S/' \
filename | sort | uniq -c | sort -nr | grep -n .
と、こんなことをやっていたら当初の目的を忘れがちになってしまった…。ちなみに、これで機種依存文字が見付けられなかったので、結局のところ原因不明 orz