DIE
DIE OR DIE
Yahoo! BB セキュリティキー再発行
数年前に登録したので覚えてないので再発行しようとしたけど、再発行がなかなか通らなくてあせった。
再発行のときに入力するメールアドレスは Yahoo! JAPAN ID の登録メールアドレス。ただしこのメールアドレスは認証済みである必要がある。なんか未認証だとエラーもなにも表示されない。ただたんに届かない。送信されない。
つか、誕生日のらんに自分の誕生日入れてた。親の誕生日だった罠。そして親の誕生日がわからないっていう。
ART-SCHOOL
先月にさりげなくタワレコにいって LOST IN THE AIR を試聴して予約 (勢いあまって渋谷で予約した。新宿のほうが近いのに。電車賃は変わらないけど) したけど、まぁ PV 集がそのうち出るらしい。
UTF-8 対応の IRC クライアント
思うところあって (使わないけど) UTF-8 対応なのが欲しいけど、なんかイマイチよろしいのが見つからない。とりあえず Chatzilla を使ってみるけど……使いにくい
- チャンネルごとの charset 変更
- UTF-8 と iso-2022-jp 使えればいい。
- Limechat の固定チャンネル番号相当の機能。(Ctrl+[0-9] でチャンネル切り替え)
- いろいろ
IRC nickserv の使用法メモ
なんか nick 管理にアレゲな機能がついているので使ってみる。memo 機能とかあって面白いけど使ってない。freenode と phasenet でやった。phasenet は register するときメールアドレスが必須で、さらにそのメールアドレスが有効化どうか確かめる。
コマンドの類は全て caseinsensitive
- nickserv help [command] @freenode
- nickserv help {commands,command} @phasenet
- 使えるコマンド一覧。省略可能な command が指定された場合指定したコマンドのヘルプを表示。
-
- REGISTER
- Register a nickname
- DROP
- Cancel the registration of a nickname
- IDENTIFY
- Identify yourself with your password
- ACCESS
- Modify the list of authorized addresses
- SET
- Set various options for your nickname
- LIST
- Display list of nicks matching a pattern
- RECOVER
- Kill another user who has taken your nick
- RELEASE
- Regain custody of your nick after RECOVER
- GHOST
- Kill a ghosted nickname
- INFO
- Get information for a nickname
- LINK
- Link your nickname to another
- UNLINK
- UnLink your nickname
忘れそう。/raw なのは tiarra 経由で繋いでいるから。fn は freenode の略。
- 認証
- /raw fn nickserv identify password
- パスワードを変更
- /raw fn nickserv set password new-password
- エイリアス (alternate nick) をリンク (リンクすると nick 変えたり、元に戻したりしても再認証 (identify) の必要なし。あーでも secure を off にすれば接続ホストだけ見るらしい)
- identify された nick で /raw fn nickserv link alternate-nick your-password
おそらく chanserv は使わない。ircnet がデフォルトだし……
って /raw phasenet nickserv set language 8 すれば日本語で送ってくれるじゃんか!さきに言ってy でも freenode じゃ使えない。
あ、普通に ChanServ と privmsg で会話すればいいらしい。(Limechat だとトークと呼ばれているやつ)
ruby-xslt on xrea
ruby-xslt が param に対応したので XREA 上で作ってみようとしたけどあっけなく失敗した。原因究明するのもバカバカしくてやめてしまった。いいや。
ruby-sablot はローカルで動かず、ruby-xslt は鯖上で動かないという素敵な勢い。どうでもいいけど configure, make, make install とかいう手順 (とそれに似た手順) が面倒くさくて死にそうだ。ライブラリがみつかんねーといわれたら検索して場所さがしてオプションの指定方法さがして(ry
C でライブラリ書くのが許されるのは小学生までよねーキャハハ。いや嘘です。すいません。でも Pure Ruby がいいkd
さんぽ
ヘッドフォンで音楽聴きつつ晴れた日に散歩とかしていると表面張力な気分になる。表面張力、もう少しで溢れそうな、溢れなさそうな、ちょっと違う気もする。じゃあ中身が残り少ない歯磨き粉?力入れて出そうとして、でてきた、と思ったら引っ込むような。これもちょっと違う。ふっと空に吸い込まれるような。別に吸い込まれそうな空というほど綺麗な空という表現じゃなくて、もっとこっち側に依存する気分。吸い込まれる、ってのも微妙。飛べそうはちょっと近い。なんか凝縮したものが体から抜けていく感じ。本体が抜ける。魂的なもの、ただし所謂魂より機能が多い。魂的なものは直接見れないので、現実世界では身体・名前にバインドされてる。だから、あの気分は別の名前に新たにバインドされなおされようとしている気分、みたいな。別の世界にいこうとしているとも言える、ちょっといいすぎというか大げさだと思うけど。ただ自然の中では一つの魂的なものに対して一つの名前しか付けられないらしい。だから一回完全にアンバインドしないと新しい名前にバインドできない。んで、その一瞬の間はどの名前もついていない状態なので GC によって回収される可能性がある。これがリスク。
GUID / UUID
GUID とか UUID はどうやってホンモノと偽者を判断するんだろう?
- uuidgen
- 5b03e77e-e620-4aa3-aba7-03a034b1ea77
[rand(2**128+1).to_s(16)].pack("H*").unpack("h8 h4 h4 h4 h12").join("-")- cf689027-9832-ef63-7983-deb39c8492ed
どっちもソレっぽいじゃん。
Fx Extension
何度やっても環境構築でつまずくっていうかデバッグできる状況までいかないので諦める。なんてか Fx をインスコして以来何度かやろうとしてる罠。別に特別作りたいわけじゃないけど弄ってみたいじゃない? なんかもう完全面倒臭そうなので見るだけにしよう。
どういうシステムで拡張が管理されてるかの最新であることが保証されてる日本語のドキュメントが欲しい。無理なんだけど。
直接的伝達手段
直接向かい合って話をするのって想像以上に重要。インターネットでのコミュニケーションは危険。殴り書き。日記。
今インターネットでコミュニケーションするとしたら殆ど文字データのやりとり。伝達できる情報が限られてる。つまり、なんていうか曖昧な部分が増える。文字データから得られる情報以外で、会話するのに必要な情報は勝手に補完されたりする。しゃべりが上手かったりとか、イメージ先行だったりすると勝手に補完される情報が実際よりもいいもので補完される。いや、これは別にあんまり関係ないけど、こういうのってアレなんだよね。期待の裏切りがあるんだよね。必ず。しかも相手に罪がない。
曖昧さが増えると、それだけわかった気になれる。(もちろん曖昧さが多すぎると駄目だけど) なぜなら都合がいいように勝手に補完しちゃうから。何度も書いてる気がする。これはこれでいいんだけど、これはこれでいいとするなら、それ以上相手のことを知ったり、近づいたりすべきじゃない。するならまぁ、汚染マークを取り除くことによる危険性はプログラマが責任を負う必要があります。
みたいな。
まぁそんなことはある意味どうでもよくて、うん。それより存在感。リアルで直接向かい合って話すときの存在感って、ネットのそれと比べものにならないわけだよね。人間の五感がすごいんだか何だか。表情・声色・周りの空気の流れ。いろんなもの感じながら会話したりしてる。もうこれそれこそたぶん想像以上に。最後のって抽象的だけどやっぱ特に重要だったりするわけですよ。しかも離れてると絶対共有できない。ある場合では破壊力さえあったりする。怖い怖い。
syrup16g のリアルに、真意はわからないけど面白いフレーズ (?) がある。
圧倒的な存在感 生身の感情の表現 すべての言葉しっぽ巻いて 逃げ出すほどのリアル
こんなリアルもある。あるいはこんなんがリアル。
まぁ私はできることなら妄想リアルで生きていたいわけですけれど。と一人称を私にしてみるけど、やっぱキモい。自分の想像する自分に合わない (わらい)
代ゼミメモ
まとめサイトが消えた臭いので 2ch 本スレにリンクしておこう。
ruby 1.8.2
落ち杉。1.8.1 に戻すかとか思ったけど、既に 1.8.2 feature なの (NKF の UTF-8 変換とか) を使い始めちゃったりしてるのでめんどい。計算機がもう一台欲しい。それよりメモリ欲しい。coLinux を常に動かすのは無理です。
つーか Linux ってつかいにk(r GUI マンセーな僕には CUI のコマンドラインオプソンが覚えられません。--help するとオプション多すぎです。何の頭文字かわかんねーし。
ネゴシエーション時のリンク先
マルチランゲージ化したとき、言語指定したページでもリンク先は言語指定してないページになったりする
とかいう手抜きをしたためアレだったのを先日修正した。たぶん link 要素とか残ってるけど面倒臭いのでそのうち。忘れるけど。
再読日記
Segmentation fault
なんか cygwin ruby 1.8.2 の net/protocol.rb がたまに Segmentation fault で落ちる。とりあえず落ちてもすぐ復帰するようにして放置。知らん。
loop do # Make running process pid = Process.fork do # IRC BOT 起動 end # I am monitoring process. pid, status = Process.waitpid2(pid) p status end
プロセス死んでもとにかく復帰。復帰。復帰。ぐるぐる。
結構頻度が高い。socket 関連でダメだと思うんだけど、どうすればいいんだろ。
2005-01-27 01:45:23 #<Process::Status: pid=12296,signaled(SIGABRT=6)> 2005-01-27 02:19:07 #<Process::Status: pid=15652,signaled(SIGABRT=6)> 2005-01-27 17:32:52 #<Process::Status: pid=13756,signaled(SIGABRT=6)> 2005-01-27 23:23:39 #<Process::Status: pid=19748,signaled(SIGSEGV=11)>
SIGABRT のやつは net/protocol.rb の rbuf_fill メソッド @socket.sysread(1024) でエラー。SIGSEGV は timeout.rb。発生元はたぶん同じメソッド。
GCer
考
What You'll Wish You'd Known via IRC
面白い。
ぼくらは天才というものを信じたがるんだ。ぼくらが怠けている言い訳ができるからね。
耳が痛い。でも天才は自分の興味あることに完全に没頭できるっていう天才があるんだけどね。
ドキドキするスリルがなくちゃ。
はなんかアレだなと思った。不安は不安だ。結局期待 (希望) が不安を上回る必要があって、んでもってそのボーダーが低くて、スリルを感じるボーダーと近いと、そもそも挑戦できることが限られていたりする。やっていることが少しズレただけでボーダーを越える。「アレ」が何なのかホント微妙だけど……
興味の持てるプロジェクトを選ぶ
ひと月以内で終わらせられるようなプロジェクト
ちゃんと終わらせられる手段があるようなもの
これってやっぱ重要だよなぁ。最近よく思う。
あんま関係ないけど、自分は秘密に何かするのが好きだ。あるとき、「ふっ」と誰かに見せてみるのが面白い。もちろん失敗したって誰にもばれない
ってのもある。秘密じゃなくなるとむしろダメになる。だから最近はできるだけ目標は他人に話さないようにしてる。他人に話すと達成した気分になる。話さなければよかったとよく後悔する。
できればもっと早く読みたかった。早く読んだから何か変わったかっていうと疑問だけど。うん。そう。少なくとも16歳のときの自分はこんなの読まなかった。ダメじゃん。
微妙に関係ないけど、好きなことで生活するための仕事をするのって難しいんだよなたぶん。義務になった時点でやる気が失せる。単純に既にある技術内で完結する仕事ならいいだろうけど、そういう仕事ってあるんだろうか。とか考え始めると面倒くさくなってくるわけだけど。
一人称について
教室についての考察、とかいいつつ
だいたいの教室は右利きのために黒板に向かって左側に窓がくる。らしい。そんなわけだから大体夕方の教室ってのは一種の幻想性すなわちファンタジーなわけですよ。と。
ファンタジー。
話は変わって、昨日買った初恋サンセットですけど、最後の曲の後に入ってるピアノがよい。よい。でもあれかもメレンゲはサーチライトのほうが好きだな。
ぼーっとする
blomemo 2005-01-23 - 消えていくボーッとする時間
これここ最近よく思うことの一つ。暇なとき、いろんなことを考えて発展させて、少し前まで考えていたことが消えて、結局あとから考えるとあんまり覚えていない。
その時間が具体的にどういう風にいいのか、っていうのはうまく説明できない。そりゃ今あらためて考えると電車の中とか、寝る前とか、風呂に入っているときとか何を考えているか覚えてないから。
寝る前とか、もしくはコンピュータの前でぼーっとしているときは日記に書く。
あぁ。これは起きているときの見る夢みたいなもんなのかな。たぶん。
Ruby コードを安全に実行する。
前にも書いたけど完全じゃないので。たぶん、これでいいはず。
def safe(lvl, tm=1)
result = nil
tg = nil
th = Thread.start(lvl) do |level|
tg = ThreadGroup.new.add(Thread.current)
$SAFE = level
result = yield
end.join(tm)
tg.list.each {|t| t.kill}
raise TimeoutError unless th
result
end
ThreadGroup を新しく作り、それにカレント実行スレッドを突っ込んで、信頼できないコードから生成されるスレッドを全てこいつの所属させ、実行終了したら kill! kill! kill!
IRC BOT の Ruby コード実行機能をこれにした。まぁしかし! SEGV されたら終りというどうしようもない脆弱性がありますけれども。
Ruby, ブロック引数をとるメソッド
def foo(a, b) yield a + b end def fop(a, b, &block) yield a + b end def foq(a, b, &block) block.call a + b end
引数に &block を書かないとブロックをとるメソッドなのか取らないメソッドなのかわかりにくい。でもなんか &block を書くとダサい。
二番目の方法だと block という引数を使ってなくてキモい。三番目の方法は一般的なコードじゃなくてキモい。
さて、ホントは上のコードの block.call は block.yield (引数のチェックをしない) になるんだろうけど、NoMethodError がでる。なんでだろ。
$ ruby -v -e 'Proc.new {|t| puts t}.yield("foo")'
ruby 1.8.1 (2003-12-25) [i386-cygwin]
-e:1: undefined method 'yield' for #<Proc:0x100e6dd8@-e:1> (NoMethodError)
exit 1