2007年 04月 09日

GRAPEVINE

白日が素敵だなぁ

ほんとムカツクなぁ。辛いことを我慢しないといけないっていう考えかたを広めたやつを殺したい。いつの時代の誰なんだ、と思うけど、たぶんみんなだから、皆殺しにしないといけないのだと思った。
だから、できるだけはやく太陽は爆発しないといけない。そうしないと誰も優しくなんてならない。

とりあえずさ ちょっだけ先の 約束をしよう

約束する相手がいないのですが

あとおれは青春時代に誰とも手を繋いだことがない。

べんきょうきらいなんだって……

すっごいホントに何度でも言えるけど、勉強が死ぬほど嫌いだ。
というか、小学校にしても中学校にしても勉強しないでどうにかなってしまって (そのときは何故か優秀なほうだったのだ)、高校でも結局場所を間違えなければ殆ど何かを積極的に覚えるなんてしなかった。


レポートが書けないのは、レポートは自分の言葉で書かなければならないからだと思った。課題の趣旨を理解していなければならないし、そのことに関する正確な知識が必要だし、なおかつ気違いじみた教授にも理解できるように規定量を書かなければならない。

課題の趣旨を理解していないと (しかも趣旨がよくわからない課題なんていくらでもあるのだ)、レポートの受けとりを拒否される。

正確な知識がないと「こいつ間違えてるぜ笑える」と講義中にネチネチ言われる。

教授に理解できるように書かないとこれもまた講義中にネチネチ言われる。「学生として」不自然じゃない表現を使わないといけないし「レポートとして」適切な表現を使わないといけない。


しかも実はレポートを書くときに一番時間をかけるのは最後の表現の部分なんだ。知識の吸収でもなんでもなくて、「適切さ」と「自然さ」を考えている時間のほうがはるかに長い。ばかばかしい。

だからブログに学んだことを書く課題はそんなに苦ではない。自分の調子で書けるし、教授だけのために書くものではなくなるから、より「普通」のまま書ける。

完全なる Gerry

ここ最近おおかったのだけど、きょうのはひどい……

2007年 04月 07日

プログラミングがまったくうまくいかないときに、気分転換に何かする、みたいなことがない。寝るぐらいだ。でも最近はそういうときになると寝るのがすごくもったいない気がしてしまう

バイト

今日よくかんがえてみたら、大学に入ってからずっとバイトのことばっかり考えていた。それはバイトの内容のことじゃなくて「バイトをする」ことについてだ。というかバイトというより「お金をかせぐこと」についてだ。

大学に入ると同時に「おこづかい期間」が終了して、バイトをせざるをえない状態になったし、しかも母親に「そろそろバイトぐらいしろ」という圧力をかけられていたので、考えざるをえなかった (俺はこの圧力に関してについて親にかなりムカついている。そんなこと言われなくなってわかってるし、わかっていてできなかったのだ。簡単にできるならやってることだ)。


最初のほうのバイトの電話は、募集広告に書いていないことで「はぁ?」みたいな口調で断られて、泣きたくなった。

ネット求人でコンピュータ系っぽいのをさがして応募したけど、広告と仕事内容があきらかに違っていたのでやらなかった。

こういうことって普通の人からしたら「あたりまえのこと」らしいけど、俺には耐えられないぐらい嫌だった。



二年次のときもバイトをフルタイムでやるにはどうすればいいかを考えていたし、今もそうだ。面接で何を言えばいいかを考えている。正直に話すと「何もできることがない」のだ。何を言えばいいっつうんだよ。


何が大学生だよって感じだ。大学に集中なんてできるわけがない。

LDR で Basic 認証かかってるフィード読める

っていうの YAPC で mala さんが LT のときに一瞬そんなことを言っていて、まじで!って思った。(なぜハッシュじゃないといけないのか、みたいなとき)
なるほどなぁって思ってフィードの追加で http://user:pass@host/index.atom みたいにして登録してみた。けどフィードの追加から追加するとデフォルトが公開になるっぽくてこわい。すぐに user/cho45 をひらいて編集非公開にした。

あとオートディスカバリは効かないっぽいのかな。うえみたいに直接指定したらいけた。

2007年 04月 05日

四月なのにガラスの墓標がちょうどいい

完全に寝てて新宿で降りそこねそうだった。
総武線に乗って外を見てたら12時になってる時計があってあせった。

非同期を同期っぽくする方法

callcc
コールバックからもとの継続を呼ぶ (一度メソッドから抜ける)

# 同時にいくつも呼ぶことを想定していない
	def hoge(sender)
		@foo.set_callback(self, :event_callback)
		@foo.load_something 
		if callcc { |@c| false }
			p "loaded"
			@c = nil
		end
	end

	def event_callback
		@c.call(true) if @c
	end

Queue
Queue#pop のブロッキングを使う

# 同時にいくつも呼ぶことを想定していない
	def hoge(sender)
		@q ||= Queue.new
		@foo.set_callback(self, :event_callback)
		@foo.load_something 
		@q.pop
		p "loaded"
	end

	def event_callback
		@q << :callback
	end

なんかもっと簡単なのがあるのかなぁ

webview たん

もうあきらめて全部のページについて WebView を作るようにしたみたけど、これもなぜかうまくいかない

		t = Transition.alloc.initWithType(CGSCube)
		t.setOption CGSLeft
		t.freezeWindow nil # freeze fullscreen
		@mainWindow.setContentView @pages[@page]
		@mainWindow.display
		@mainWindow.setViewsNeedDisplay true
		@mainWindow.flushWindow
		t.invoke(1)

@pages に WebView のインスタンスがはいってる。けどなぜか setContentView と display その他ではちゃんときりかわってくれない! なんでだ

WebView 一個だけにして、ページ内 JS からシステムエフェクトをよべるようにしたほうがスマートな気がした。

なんだかすごく酔ってしまった。
でも家に帰ってきてPCを開くとちゃんとパスワードは入力できるっていうのが、習慣はこわいなぁと思う瞬間でした (今すごくよってる)

というか酔っていると俺様実行エンジンが乗り換えとかを自動化するモードで動いてくれるのでいつも酔っているほうがいいのではないかと思いました。