家に帰れてないのでそのへんのオープンネットワークから (Now in カラオケボックス)。

成人式自体はすぐに終わってしまって(二部とかあったけどどうもいいので帰ってきた)、なんか途中家に ssh しようと思ったら繋がらなくておかしいと思いつつ一度帰宅したら停電していた。立ち上げ直してから同窓会へ。

懐かしい顔ぶれでちょっと頭の中にいるようだった。いろいろ考えていろいろな人に話しかけてみた。だいたい就職している人がいたり、進路はっきり考えてたりすげぇなと思った。

聞いていたなかで一フレーズのみ印象に残っていて途中からどうもうまく気持ちが乗らなくなってしまった (別に悪い話ではない)。なんか俺がこれやって楽しんでる場合じゃねぇなとか、なんとか。ならこのクソ日記を更新するのではなく行動に移せという、はなしだ、が。


楽しいとか楽しくないとか、それ以前の人がいっぱいるけれども、やはり悩めるだけの余裕がある自分はその価値がないほど幸せなのだろう。極めて、幸せな境遇にあるのだ。


もっと相手の事を考えなければならない。矛盾しているけどそういうこともあるだろう。プライオリティのもっと高いことがある。

変更があったとき「j と k で移動できるだけなんでしょー?」とか思って内容をよく読まなかったのを激しく後悔するとともに、使いこなせていなかったことを深くお詫び申し上げたいと思う所存であります。謎

o を押すと新しくタブ開いて、なおかつアンテナは次のサイトにフォーカス移動してくれるので、 o で開いてみて、見終わったら閉じてまた o を押すというちょーこうそく個人サイトリーディングが可能。やばい。(「アンテナ設定」で「ボタンを表示する 常にオン」にしとくといいみたい)

あと自分がアンテナに登録しているのはイラストサイトばっかりなのですが、スクリーンショットを表示させるようにすると想像以上に便利な感じになりました。あーいままでなんでやらなかったんだろう。

一昨日と昨日やったことのまとめ。rubyclr (なんか rubyclr のサイトって title 要素の内容がないんだけど) について。

rubyclr 自体は .NET Framework があれば動くので VS.NET はいらないのですが、UI 開発などの行程で VS.NET が激しく便利なので少なくとも C# Express ぐらいはインストールしといたほうがいいと思います。(rubyclr の開発言語は C++ なので C++ のほうがいいかも)

わかったこと

  • 一旦アプリケーションループに入ると Ruby のスレッドスイッチが入らない (Timer で割り込みかけることで解決)
  • VS.NET で作ったクラスはそのまま rubyclr で読み込める (常に C# などと同時に開発可能)
  • clr なインスタンスに instance_eval かけると死ぬ
  • .NET はセキュリティに厳しい (ruby 関係ない)
  • .NET はスレッドに厳しい (ruby 関係ない)

とりあえず VS.NET で作ったファイルを読み込むには

require 'rubyclr'
reference_file "CompiledAssembly.exe"

とかやると、CompiledAssembly.exe に定義されたクラスが全てインポートされる。(もちろん public なものしかアクセスできない。フォームに配置したコントールはデフォルトで private なので Ruby から参照したいときは書き換える必要あり)

namespace Hogehoge 以下の Unco クラスは Ruby では Hogehoge::Unco で参照できる。

.exe にしてありますが、プロジェクトのプロパティで、出力の形式(デフォルトは Windows アプリケーション) をクラスライブラリにすれば dll になって単体で実行できなくなるみたいです。けど IDE で実行できなくなるのでデバッグし辛い。


Ruby のスレッドスイッチが起きないのは致命的というか、DRb 使えない Ruby とか Ruby で書く意味があんまりない、とまでは言わないけれど結構そんな残念な感じになってしまったので解決法考えた。というかトイレいったら思いついた。

# threadTimer という名前で配置。Interval は 10 で、最初から Enabled を true にしてある。
form.threadTimer.Tick do |sender, arg|
    Thread.pass
end

フォームに Timer を配置して、.NET 側から Ruby に定期的に割り込み入れるようにする。

ただし、この Thread.pass されたスレッドでフォーム内のコントロールを参照すると、参照した時点で謎のエラー (簡素なダイアログ) で落ちてしまう。(Thread.pass する前、つまりタイマー割り込みのイベント内では大丈夫です。)

subtech - MisuzillaSubtechImpl - Windows Forms とスレッド によると安全性のために落ちているらしい。Ruby のスレッドと .NET のスレッドとの関係性がいまいちわからないけれど、おまじない書くと一応大丈夫になる。

reference 'System.Windows.Forms'
System::Windows::Forms::Form.CheckForIllegalCrossThreadCalls = false

true にしといて別の方法で同期とったほうがいいかもしれない。(今回書いていたコードではこのおまじないを使わないで Timer 割り込みで UI を更新するようなコードにした)


あとは rubyclr のサンプルを見ながらやれば特に困ったことにはならなかった。でも exerb でまとめるとどうしてもセグフォるので誰かうまくいったら教えて欲しいです。

どうでもいいけど Ruby でスクリプト書くときも VS.NET を立ち上げっぱなしにしておけばどんなプロパティがあるかわかって便利だった。というか MSDN はどうも読みにくい……MSDN 見てから developer.apple.com 見ると癒される。


そういえば、もともと VB6 を触った事があったのでメソッド名とかはだいたい想像がついて .NET の浅い部分ではそんなに悩んだりはしなかった。

セキュリティシステムあたりがまだ理解できてない。


そんな感じの .NET プログラミング初体験☆でした。別にエロくない。

なんかすんごい何度も書いてる気がするけど、モチベーションの維持が一番難しいのだ。だから自分はモチベーションがあるときは失わないように必死だし、モチベーションがないときはどうすればモチベーションがでるか考えている。ただこれは実際「自分の中で完結する解決方法」でしかない。外部的要因によって強制的にスイッチが切られたら終わりなのだ。そう都合良くいかない。解ってる。解ってる。

表現だけを考えている。伝えるのに一番いい方法があるはずだ。まんぞくして自信がついたら終わりだ。それを持ってなおかつ相反する何かを持ち続けられるほどメモリをつんでいない。

例えばコンピュータは、こちらの表現を正確に受け取る。コンピュータは誤解はしない。でもコンピュータはソースコードの美しさを評価しない。


相手の望んでいることを考えるのが心底嫌いだ。


友人 (方向が違うのだけど、その方向をおれは取り入れていきたい) と文章がどうとかいう話をした。よくわからない。必要以上に導きたくない。想像のためのきっかけを作りたいと思う。後に残らないものを作りたいとは思わない。でも入り込みやすい要素は必要だと思う。バランスが掴めない。あるいは距離感なのかな。必要最低限でいい。特に論理的に導きだせるなら答えを言う必要はない。みんな俺より頭いいんだから、それぐらいできるはずだ。自分はそれをする気になるまでの導入を作れるようにならないといけない。


何周して戻ってくる。二週目? 眠い。

今まで「眠い」で終わる日記を何回かいたんだろう。

なんか ntp の設定してたら年が明けてた。iptables の設定わからない。別に普通の日だなぁ。当たり前か。

今年は

  • 50mm で納得いく写真がとれるようになりたい
  • Ruby 極めたい
  • Perl の型グロブをしっかり理解したい
  • Haskell やる気になりたい
  • unlambda をとりあえず極めたい
  • 可愛い女の子と新世界に旅立つ。

最後のがもちろん最もプライオリティが高いものであるが、実現可能性が著しく低いので、まず先に時間移動の方法を見つけたい。

あー日記を最初から読み直してメモしてたけど、途中で Fx 固まって消えたのでもういいや。でも年に一度ぐらいは日記を読み直したほうが絶対いいなぁと思った。こんなことあったのか、とか気付いたり、あれって今年のできごとだったんだ、と気付いたり面白い。

現在位置の確認をするのに、過去の日記はたいへんつかえるのかもしれないなぁと思いました。

今年は前年にも増していろいろなことがあり、いろいろな人のお世話になりました。おかげさまで二年ぐらいたったように感じられます。ありがとうございます。

だんだん書ける事が少なくなっていくのが不安ですが、できるだけ何も考えないで書いていけるようにするために緩やかな変化をつけていこうと思います。

img_231602

なんか GUI のクライアント使うのさえ面倒くさくなってきてミラーリングツールを使って更新することにした。

#!/usr/bin/ruby

require 'optparse'
require 'pathname'
require 'open-uri'

ROOT = '/srv/www/virtual/userid/public_html'
SERV = '/virtual/userid/public_html'
HOST = 's63.xrea.com'
USER = 'userid'
PASS = 'hogehoge'

open("http://www.#{HOST}/jp/admin.xcg?id=#{USER}&pass=#{PASS}&telnet=t") do |f|
    data = f.read
    ip =  data[/NAME="remote_host" VALUE="([¥d.]+)"/, 1]
    raise "can't get IP" unless ip

    open("http://www.#{HOST}/jp/admin.xcg?id=#{USER}&pass=#{PASS}&remote_host=#{ip}&ssh2=SSH%93o%98%5E") do |f|
    end
end


host = nil
dry  = false
OptionParser.new do |opts|
    opts.on('-n', '--dry-run') { dry = true }

    opts.parse!

    host = ARGV[0]
    unless host
        puts opts
        exit 1
    end
end


def sync(host, dry=false)
    dir = Pathname.new(ROOT) + host
    raise "#{host} is not exists." unless dir.exist?

    system(<<-EOC.gsub(/^¥t+/, ''))
    rsync #{dry ? '--dry-run' : ''} -vptr #{dir}/  #{USER}@#{HOST}:#{SERV}/#{host}
    EOC
end

unless sync(host, dry)
    puts "rsync failed. retry after 5min."

    (5 * 60).downto(0) do |i|
        print i, "¥r"
        $stdout.flush
        sleep 1
    end
    sync(host, dry)
end

こんなスクリプト書いて実行させてる。ホストごとに rsync できるようにしてる。


最初は lftp でやってたのだけど、こいつはなぜかファイルサイズを見るらしく困ったうえに、ファイルリストとるのが劇遅くてやる気がなくなるので結局 rsync にした。ssh 登録がめんどいけどそれも自動化した。

キーボードの U.S. Extended を選ぶと、Alt-6 (サーカムフレックス) Alt-b (ブリーブ) が入力できるようになるみたいだ。あとは続けて c, g, h, j, s / u をうてばいい。

Wikipedia の Esperanto の項に書いてあった

sonĝi (うたう不定形)

しかし全然語彙を覚えてない件

こう定期的にモニタの色を気にしたりして、結局デフォルトに戻したりを繰り替えているけれど、何にあわせればいいのかわからない。

今日はなんとなく NVIDIA Contorol Panel からのキャリブレーションを実行してみた(マルチモニタの接続先を変えたので)のだけど、かなり今まで見てた色と違って怖い(ホントに恐ろしさを感じる)

ウェブ関連の画像を作るときは、むしろ積極的にキャリブレーションすべきじゃない気がするけど(世の中の人の殆どはキャリブレーションをしないし、そして安い液晶を使っている)、そういう考えも相まってどこにあわせるか悩む。

そしてついでに MacBook のキャリブレーションもしてみたけど、結構青い方向に補正された。うううううん。


うーん。結局入力/出力であってればいいんだから自分の使う範囲で色があってればいいんだよなぁ……

ウェブの画像作る時ってどうすればいいんだ。


あと疑うべきが多すぎる。モニタ自体(ハードウェア)、モニタプロファイル、モニタの設定、OS のドライバ設定、自分の眼。

  • バス
  • 渓谷
  • 近代的な建物
  • 地下へ
  • ラーメン/冷やし中華/カレー
  • ラーメン
  • iPod nano
  • 車椅子
  • 許可をとらない
  • 不注意
  • 責任がどうとか
  • 黒い竜
  • よくわからん機械(アトロポス)がでてくる
  • いたづら電話で起こされる

YP-C1 ってもう売ってないんだなぁ。

単三1本で動くプレイヤーがなくなると困る。iriver が一つシリーズ出してるけど、いつなくなるかわからない……

単三1本で動くプレイヤーだと充電池3本で(1本ごとに充電できる充電器なら2本) 回せるからいいんだけどなぁ。電池きれてもカバンの中に常に予備を入れておける。

ドックみたいな感じだと充電忘れまくる。携帯でさえ充電忘れてたまに家におきっぱだし……


だから iPod がどんだけ売れてても論外というか、再生時間短すぎというか iTunes に依存してるのが気に食わないというか iTunes インストールするとき勝手に関連づけ変更されるのが気に食わないので Windows には iTunes 入れてないとうか、だからといって fb2k から iPod プラグインを使うというのはなかなか不安なのでやりたくないしというか、いやだから電池がアレじゃ……

GreasemonkeyスクリプティングTIPS&SAMPLES をいただきました。ありがとうございます。ホントは貰えるとは思ってなかった (メールに気付かなかった) のですが、いろいろあって貰えました。

Greasemonkey の API を使おうと思うたびに authoring.html を開いていたので (GM_xmlhttpRequest はコピペ)、さりげなく API リファレンスが便利かも。

一旦流して読んでみたので、コンピュータ見るのに疲れたときに布団の中で読もうと思います。

このサイトで公開された 2006 年分の user.js は http://lowreal.net/2006/?D=A にあります。Javascript なやつをてきとうにさがしてください(てきとう)。自分がもう使ってないやつは動かないかも。


そういえば $X のまともな説明ページって書いてないっぽい感じすね。あの日記のセクション読んでも意味わかんなそうだ。

ろんりてきじゃない。タイプしながら考える。


努力がどうとか、ホントにずっと考えているけど、恐らく誰かが望むであろう「良い」答えはでてない。ただ、絶対にしたくない努力についての考え方みたいなのはあったりする。

自分でその最上級にくだらなくて、つまらなくて、つらい「努力」とやらを望んでやっているのに、「俺はつらい努力をしているから偉い」みたいな考え方をするのはさけたい。意識的/無意識的に関わらず、さけたい。だから時々自分をチェックする必要がある。


人間が生きていることになんて、なんの意味も、価値もない。意味も価値も、見いだしているのは人間/自分そのものだ。だから、「つらい」ことをやっている自分、というのは、自分がそれを望んだからそれをやっているに過ぎないと思う。いくらでも、楽しい方向に考えることはできるはずだ。でもそれは殆どの場合うまくいかない。ちょっと「つらい」ことをしたあとに楽しいことをしたほうが、より楽しいことを知っているからだ。でもって人によって、この「つらい」ことをするのと「楽しい」ことをするのとのバランスが違う。殆どずっと楽しい人もいるし、殆どずっと辛い人もいる。


そしてそのバランスは一度決まってしまうと(たぶん小学生か中学生ぐらいのときに決まる)、変化しにくい。辛い環境に慣れてしまうと、楽しいことが楽しんだ後、その楽しいことのせいでバランスが崩れ、今より辛いことになる想像をしてしまう。楽しい環境に慣れてしまうと、辛い環境の覗き込んだ時、その深さに耐えきれず現実逃避してまで楽しいことをしようとする。(というか、無意識的であれ意識的であれ、「隣の芝生は青い」ことを直感しているので、そうそうそのバランスを変えて情緒不安定になるリスクをおかしてまで、変化させるメリットがない。どうせ変えても、その状況もまた、その視点では辛い)


具体的な話をすると、自分は今学校がクソつまらなくて、授業にでなきゃいけないのにでてない。授業にでるのがすごく嫌で、自分にとって「努力」を必要とすることなんだけど、たぶんこれって、解らない人には絶対わからない。いやわからないほうがいいんだけど……それで、そんな状況で「努力」して卒業したからって、自分はそのことを偉いとは思いたくない(でも実際には思いそうなので嫌だ)。明らかにそんなくだらない、実にならない「努力」をするより、楽しく学問をできる人がそれをやったほうがいい。

実際もっとモチベーションに溢れていれば、学問の勉強ではなく、実務あるいは芸術的なことを深く追いつめることで、学校をやめる道(ないし休学)もあるだろうと思う。でも自分はそれをしてない。その程度の雑魚であるから、この中途半端な状況にいる。でも自分はそれを必死で変えたりもする気がないようだ。つまり今の状況は今の状況でそこそこ満足しているらしい。発展性がないやつだ。

ただし、状況は常に変化するし、親は死ぬし、金はなくなるので、次の状況に対応するバランスを見つけておかないといけないとは思ってる。どこに、今の自分が納得して、かつ未来の自分が安定するバランスがあるのか。


でもだいたいどっちにしろ、「辛いふり」をしたり「楽しいふり」をしなければならない。くだらない人間ごっこをしなければならない。みんな楽しいことをしていればいいのにも関わらず、「みんな楽しいこと」をしている状況になるためには、既にみんなが楽しくなければいけない。誰か一人が壊れていると、それが人間ごっこをはじめるせいで周りが巻き込まれる。誰がこのクソマゾゲーを始めたか知らないけど、だいたい今生きている人は巻き込まれてるだけだ。しかも連鎖的に確実に悪化していくので、救いようがなく、そのうち必ず終わってしまう。

と今は考えてる。でもって、しかし自分はこの人間ごっこをやめて、幸せになりたいので、抜け道を探している。今のところ人間ごっこをやめる方法は一つしか思いついてない。