2006-08-01 ========== プールサイドガールとそんなリアル・あるいは環境と自分について ------------------------------------------------------------ Reference URI: http://lowreal.net/logs/2006/08/01/1 Written Time: 2006-08-01T02:35:42+09:00 Tags: thinking こう、やっぱり、夏制服の髪が肩まである女の子が、プールサイドに立ち尽くしてミナソコ を見つめているんだよなぁ。ほんとに。その俺が見ている風景の中では、少し遠くに見える 木と、彼女の髪とスカートが少し揺れてるわけで、そんな世界に生きているのだから、リア リティ、というものはリアリティでしかなく、本当に、それがリアルであったりしなくても いい、みたいに感じる。つまり「憧れ」が常になくちゃいけないけれど、それがリアルにな いし、ないのは仕方ない。 リアルであれば、俺は高校のとき、何かしら向上的で一体感のある部活に入って何かをした かった。今もしたい。もちろんその「今もしたい」というのは、今の状態でそれをしたいわ けではなく、高校生になって部活動をしたい、という意味。そして正直いって、それ以上の 何かはない。だから、このリアルな何かはまず叶わない (時間をとぶことは不可能だからね)。この時点で一つ諦めが必要。しかた ないから、それっぽい目標・目標とはいえない目標を「てきとー」に掲げるしかない。死に たいわけじゃないからね、死にたいと思うとき、同時に生きたいと思ってる。よりよく生き たいのに、できないから死にたくなる。 どうでもいい。どっちにしろ、望んだ世界において、俺は俺ではない。ので、そういう意味 では、考えることが、本当に意味がないことなんだろうなぁ。俺がそういう情況になるため には、それまでの環境構築 (すなわち自分の構築) の過程で、今の俺のようなことになって はいけない。それは既に俺ではない。環境=自分の反射/自分=環境の反射なのだから、そ ういう世界のそういう環境にいる俺は、常に俺ではない。 2006-08-02 ========== CSS で変数が欲しい!の…… -------------------------- Reference URI: http://lowreal.net/logs/2006/08/02/1 Written Time: 2006-08-02T01:34:18+09:00 Tags: css [川o・-・)<2nd life - ファイル保存時に ERb でコンパイルして保存](http://d.hatena.ne.jp/secondlife/20060802/1154445231) これの別方向バージョンです。 (最近こんなんばっかだ。パクりマンセー) CSS 特化でいいかなぁとか思いつつ簡単なスクリプトを通して置換するだけっていうのをや ってみることにしました。ERB にせよ、なんにせよ、クライアントサイドでやってる限りは 書いてる人の好き放題なのがいいところです。ERB のほうが別の場合も常に使えていいんで すが。 #!/usr/bin/rubypre = File.read(ARGV[0])vars = Hash[*pre.scan(/^\s*\*\s+([^\s;]+)\ s*=\s*(.+$)/).flatten]#p varsret = pre.gsub(/\#\{([^\s;]+)\}/) do |match| if vars.key?(Regexp.last_match[1]) vars[Regexp.last_match[1]] else match endendFile.open(ARGV[1], "wb") {|f| f.puts re t }第一引数に変換する前のファイル名、第二引数に変換したあとのファイル名を与えます。 vim 側は id:secondlife さんのやつを完全パクりでお送りいたします。指定した実行ファ イルに保存時、ファイル名を与えて実行するだけ。~/.vim/plugin/css_pre_compile.vim if v:version < 700 || (exists('g:loaded_css_pre_compile') && g:loaded_css_pre_com pile || &cp) finishendiflet g:loaded_css_pre_compile = 1if !exists('g:css_ pre_compile_exec') let g:css_pre_compile_exec = '/home/cho45/proj/mendoi/c ompile-css.rb'endifif !exists('g:css_pre_compile_name') let g:css_pre_comp ile_name = 'pre'endiffunction! s:CssPreCompile() let filename = expand('%: p') let compiled_filename = substitute(filename, '\.' . g:css_pre_compile_ name . '\.css$', '.css', '') call system(g:css_pre_compile_exec . ' ' . fi lename . ' ' . compiled_filename)endfunctionexe 'autocmd BufWritePost *.' . g:css _pre_compile_name . '.css call CssPreCompile()'でもって編集する CSS /* * * Colors * key-color-dark = #123456 * key-color-light = #234567 * * * Image s * imgdir = /img/hogehoge * * * Other Constants * content-x-margin = 5% */h1 { background: #{key-color-dark} url("#{imgdir}/head.jpg") no-repeat top left; height: 235px; width: 50px;}/* 諸事情で #content に padding が指定 できないとか */#content .section { margin: 0 #{content-x-margin};}#content .h2 { margin: 0 #{content-x-margin};}#footer { background: #{key-c olor-dark}; color: #fff;}#footer address { color: #{key-color-dark} ; background: #{key-color-light};}この場合頭に書いた宣言部分は消えないので、キーカラーを最初に明示しておく、なんてこ とが自然にできます。そういえば自分はよく色の頭二文字ぐらいを覚えて動的補完カマして 入力するんですが、最初の二文字さえ最近覚えるのがダルイです。 ちょっと使ってみよう。が、しかし、すぐに使わなくなる予感が! といっても一回放り込 めば使って悪いことはないので使えるかな。わからない。一ファイルで完結していないのが イマイチ。オートリロードとの兼ね合いもあるかも。あれダメダメじゃん。 Ruby 限定にするなら、探し出した変数宣言を module_eval とかで読み込んで、eval("< 10) throw("Library is not loaded because o f some reason."); loadLibs.forEach(function (lib) { GM_xmlhttpReque st({ method : "GET", url : lib[0], onload : func tion (req) { try { (function (r) { eval(r.respo nseText) }).call(window, req); } catch (e) { // nigiri tubushi } }, onerror : function (re q) { alert(req.responseText); } }); }); va r loaded = true; loadLibs.forEach(function (lib) { try { loa ded = loaded && typeof eval(lib[1]) != "undefined"; } catch(e) { loaded = false; } }); if (loaded) { try { afterL oadedFunction(); } catch (e) { unsafeWindow.console ? unsafeWin dow.console.log(e) : window.dump(e); } } else { var f = arguments.callee; setTimeout(function () { f.apply (this, [loadLibs, afterLoadedFunction])}, 500); }}で、以下のように使う。 // 第一要素にロードする js への URL// 第二要素にロード確認用のオブジェクトの名前/ / を入れた配列の配列dll([["http://example.com/mochi/Base.js", "MochiKit"]], funct ion () { // ロードされたら実行される})ポイントは eval を使うところ? eval を使うので unsafeWindow を極力使わなくてすむ 。あとは DOM 系の処理でおかしいこと (ここには append できないぜ系エラー) になりに くい気がする。 ロードするスクリプトの依存関係上、何度かリクエストが発射されることがある。めんどい のでブラウザのキャッシュ機能にまかせてこっちではキャッシュしていないけど、ホントは ちゃんとキャッシュしたほうがいいはず。 でもって、はてなアンケートの円グラフを PlotKit で描画しなおす GreaseMonkey スクリ プトを書いてみた。[hatena-q-make-graphs-with-plotkit.user.js](/2006/hatena-q-make-graphs-with-plotkit.user.js) 結果をソートするようにした。あと Global じゃなくて window 使うようにした。 id:secondlife さんからの指摘により、エラーを握りつぶす処理を追加し、最大ロード試行 数を加えました。 ぼーっとソースを読むとき ------------------------ Reference URI: http://lowreal.net/logs/2006/08/12/2 Written Time: 2006-08-13T03:33:04+09:00 Tags: prog なんとなくぼーっとソースを読みたいときって、コンソールのアプリケーションだとだめな んだよなぁ。マウスでドラッグアンドドロップでエディタで開いて、マウスホイールで眺め る。そういうのを楽にやりたい。 Linux デスクトップとかだとこういうのがすっごいやりにくい。ファイラが使いにくい。な んか疲れる。 キーボードがもっとうまく使えたらいいんだろうなぁ。気合入れないとキーボード使えない 。なんかキーボードは typo しまくるから、ストレスたまる。いつまでたってもタッチタイ ピングできない。P とか今だに一発でうてなくて @ を押しまくる。, も . もうまく入力で きない。数字もだめだ。みないと打てない。[ とか ] も、? も / もうまくうてない。そし て、そもそも左シフトを押す習慣がない。右手の動きに無駄が多すぎる。そういうのをいち いち感じるから、キーボードはストレスが溜まる。 それで結局、改善しようと思っても、いつもの無駄なうちかたをしてしまう。無駄な打ち型 のほうが早いんだから仕方ない。少しずつやっていくしかない。左手があんまり動かなくな ったのもかなり最近だしなぁ。CapsLock を Ctrl に変えたあたりでやっとあんまり動かな くなった。 2006-08-17 ========== リアル世界とインターネットをもっと近づけたい -------------------------------------------- Reference URI: http://lowreal.net/logs/2006/08/17/1 Written Time: 2006-08-17T21:53:07+09:00 Tags: net school 大学在学中にやりたいこと。もっと、物理的なことをやりたい。が、それだけで完結せず、 コンピュータ・ネットワークと繋げたい。具体的に何か思い浮かばないけど、なんらかの形 で光をとりいれたい。もちろん接触センサーとかもやりたい、が、まったくその辺わからな い。理系大学じゃないのがネック xyzzy -> gvim ------------- Reference URI: http://lowreal.net/logs/2006/08/17/2 Written Time: 2006-08-18T01:14:45+09:00 Tags: soft vim に慣れるために Windows でのエディタも vim にしてみる、といってもしばらくは共存 になりそうだ? vim といっても gvim でバッファは使わず、タブをひたすら開くことにする。とりあえず関 連付けは変えない。というのも、既に開いている vim で開く方法がよくわからないから、 だけど、ドラックアンドドロップが使えるのでとりあえずはいいかな。 しかし何故か ft=xml で、閉じタグの omni 補完ができない。ft=html ならいけるんだけど 、未登録タグ直下でオートインデントしてくれないので切ない。ついでに CDATA セクショ ンの扱いもアレだし、うーん。とりあえず今は html で書いてる。閉じタグ補完ないと生き ていけない。 できれば xyzzy の xml-mode C-. 相当の機能が欲しいけど、とりあえずそんなに困らない からいいか的何か。むしろ = 入力後のクオーテーション補完のほうが欲しい、んだけど、 うまく vim script 書けない。 - win の gvim は .vimrc, _vimrc, .gvimrc, _gvimrc を読むらしい? gvim 固有の設定は _gvimrc に書いた。 全然関係ないけど、このサイトの更新システムをどうにかしたい。家の PC でしか基本的に 書けないのがイマイチ。FTP うpろどしないといけないしなぁ。めんどい しかしながら何らかのタイミングでプロンプトが見え隠れするのが嫌だなぁ。 既にある vim で開くには --remote らしい。 win32 gvim は見た目がちゃんとネイティブっぽくていい感じ。マウスホイールも効く。が 、コマンドプロンプトが開いたり閉じたりするのはどうするんだ gtlt なんかやったらすぐに normal に戻る癖をつけよう。 コマンドプロンプトがいちいちでるのは screen の window 名変える echo が動いてるせい だった。gtlt gvim 常にタブで開くようにしてみる --------------------------------- Reference URI: http://lowreal.net/logs/2006/08/17/3 Written Time: 2006-08-18T21:19:42+09:00 Tags: vim soft バッファとタブを併用すると混乱するのでタブに統一したい。vim のバッファはタブごとに 複数のバッファ、という風になっていてややこしい。タブ1個に対してバッファ1個にしたい 。 たいした方法が思いつかないので以下を加えた。 " バッファを使わないautocmd BufReadPost * tab ballこれで一応関連付けとかドラッグアンドドロップのときはタブを開くようになる。けど、ち ょっと挙動が気持ち悪い。タブを閉じても結局バッファは残っているため、次に何かのファ イルを開いたりすると閉じたのが復活したりする。これは常に bw (バッファを閉じる) を 使っていればたぶん大丈夫なんだろう? 2006-08-20 ========== dll 関数の補足と TODO --------------------- Reference URI: http://lowreal.net/logs/2006/08/20/1 Written Time: 2006-08-20T16:49:40+09:00 Tags: js [dll 関数](my:2006/08/12/1) の補足と覚書 GM_xmlhttprequest の onload でなんで .call とかやっているかというと、一部ライブラ リが this を window (Global) と仮定したコードになっているからです。eval のコンテキ ストの this を window (Global) オブジェクトにしてあげて、例えば MochiKit の expor t 先オブジェクトをそこにしてあげているわけです。 でもって、なぜ unsafeWindow でなく window なのかっていうのは、その export された関 数とかが、ロードされたページに影響を及ぼさないためです。Greasemonkey 中の window はページ内のスクリプトからはアクセスできない (safe) ので、Greasemonkey 内限定で使 う場合、副作用の懸念を減らすことができます。 でもって、[id:brazil さんの記事](http://d.hatena.ne.jp/brazil/20060820/1156022719) で、あああって思った。全部とってきてから eval したら、変に何回もリクエスト送らな いでいいや。と、いう、か、GM_setValue 使えばいいんだけど、ちょっと GM_setValue で 長い文字列突っ込むのは怖い。 2006-08-21 ========== 17歳へ それと 洗濯機から女の子の日常性について ---------------------------------------------- Reference URI: http://lowreal.net/logs/2006/08/21/1 Written Time: 2006-08-21T00:12:33+09:00 Tags: life thinking 17歳に、なりたい。ただ、それが、高校で、オレが、オレでないことを祈って、あるいは、 オレがオレであっても、オレ以外のオレが、オレの中にいるように、生きたい。 どうでもいいけど、自分が想像する、洗濯機からでてくる女の子は、ヘッドフォンをつけて ない。なぜなら、彼女にはそれが必要ないからなんだけど、いや別についていたっていいん だけど、ついていない子を見るほうが、多い。洗濯機から出てくる女の子は、目立たない。 違和感がない。日常に溶け込んで、洗濯機から出てくる。 普通さの正しさ、自分の考える完全な普通さは、洗濯機からでてくる女の子につまっている 。その日常とか、透明さが普通で、でもこの論理的じゃない、理不尽な世界においてそれは 異常に見えることも、ときにはあるよね、っていうこと、なんですね。 すごく普通なことは、実際ほんとにリアルに溢れていて、それが自分の眼に「リアリティ」 として現れるには、自分がそれに気付けるか、という一点にかかってる。自分がそれを感じ られるか、って忘れないようにしないと。 雰囲気に飲み込まれて、立ち位置を見失うと、せっかく構築しかけた世界観も壊れるから、 注意しながら、しっかり考えないと、また明日も明後日も危ない。 本当の意味の Web 2.0 とは何なのか --------------------------------- Reference URI: http://lowreal.net/logs/2006/08/21/2 Written Time: 2006-08-21T22:50:32+09:00 Tags: web life thinking 君と僕が、繋がるってことさ。 2006-08-23 ========== mixi に登録した日を表示する GM スクリプト ----------------------------------------- Reference URI: http://lowreal.net/logs/2006/08/23/1 Written Time: 2006-08-23T01:42:48+09:00 Tags: net web [mixi-show-regist-date.user.js](/2006/mixi-show-regist-date.user.js) 他人のページを見たとき、その人がいつぐらいに mixi に登録したかを表示します。インス トールすると最終ログインの下におおよその登録した月が表示されるようになります。 データは今日までのを適当に集計したやつで、今日以降登録した人は一括して 2006-08 以 降と表示されます。メンテナンスする気はありません(てきとう verbose 設定を追加しました。デフォルトでオン。オンのときはそこらじゅうの写真にいつ 登録されたかが表示されます。 時をかける少女 を見た --------------------- Reference URI: http://lowreal.net/logs/2006/08/23/2 Written Time: 2006-08-23T18:29:49+09:00 Tags: life movie やたら好評で見たほうがいいよ!とかいう話だったので、ゆーさん (誰) と真雪さんと見て きますた。 また (謎) 時間跳躍系なんですが、これは SF っぽさは殆どなく、終始青春でした。やばい 。青春やばい。青春系で、ただし切なさ多め、ぐらい、だった。 - え? っていうシーンがあってあせる。 - かなり展開がはやい。 - 変に超人的な人がでてこなくてよかった。(おばさんがアレだけど、あんまり関係しない) - 空の描写が多かった。気がする。 - 冒頭の図書室の女の子がやばい。と思いきや最後のほうでも出てきて嬉しい。 - サブキャラの女の子かわいそう。 - 人混みに紛れるシーンが好き。主人公もどっちも。ちょっと壊れ気味 2006-08-25 ========== 期限切れ -------- Reference URI: http://lowreal.net/logs/2006/08/25/1 Written Time: 2006-08-25T00:18:37+09:00 Tags: life thinking 何度も書いているけど、新しい人とリアルで話すのは、果てしなく面倒くさい。相手がどの レベルでキレるか、相手がどのぐらいリテラシを持ってるかを、慎重に量らないといけない 。こういうこと、どうにかできていたのが、その期限だったわけだけど、それがとっくに終 わってしまってる。もう成り行き上仕方なく、という展開以外に、そういう作業はしない。 というか、期限内でも、どうにかやっているというレベルではなかったように思う。慎重さ に欠けてたように思う。もういいけど。 例えば大学で誰か知り合いを作るにしても、こういう手順を踏むのはなかなか難しい。たい して会うわけでもないし、しかも、量った結果が、望んだ結果であるとは限らない。という より、多くの場合期待は裏切られる。最初からないものに期待してる頭の悪さがここにある 。 ネットリテラシの量りかたも、いまいちよくわからない。「これはひどい」の響き方が、タ イプによって違うことに気付いたけど、どうも使い分けているような人もいてややこしい。 ツンデレにしても萌えにしても、レベルというか、使い方の違いがあってわからない。フィ ードリーダーを使っていなかったりする。フィードリーダーを使っていてもあんまり購読し ていなかったりする。何か一個のことで、ちゃんと量れない。つまり、そこそこの長い時間 をかけないといけない。どんだけ面倒くさいんだよ、って。かけた時間は殆ど無駄になる。 そこまでして、いまさらリアルが必要か? リアリティで十分ではないか? ネットで日記を読むのが面白いのは、画面の向こうの人の形を、こちらが自由に想像できる から。何か、自分の中のキーワードにひっかかる人の日記を見て、こういう人なんだろうか 、こういう人なんだろう、とか、勝手に想像できる。自由に。ネットの中で完結している限 り、自分の想像は守られる。 ここで、期待が膨らんで、コミュニケーションをとろうとしてみても、割と大丈夫だ。なぜ かといえば、想像が侵されそうになったとき、自分からそのコミュニケーションをやめるこ とができるから。自分の想像が、壊れない程度に、コミュニケーションができる。面倒くさ そうなことになったら、回線切って寝ればいい。明日は曇りのち晴れ。 これが正しくない、と思うだろうかとか。実際、リアルでも同じようなプロセスが、より短 時間により集中的により危険な状態で行われているだけ、だけど。一日の間に、何十もの勘 違いをして、少しわかった気になって、次会うとき終わるような。しかも、何も全く知らな いところから、手探りで。より無駄が多い。楽しみが少ない。よく考える時間がない。何よ り、コミュニケーションを強要されるのは面倒くさい。別に、そんな話聴きたくないよ。別 に、こんな話、聴きたくないでしょう。 昨日は、9時間寝て、夢を見たけど、夢の内容を忘れた。いい夢だった気がする。けど、忘 れた。忘れても、いい夢だった、と。雰囲気。でもたぶん、それじゃなくて、ちゃんと思い 出しても、妄想なのかもしれないけど。