2007年 04月 03日

もうだめだ

何を勘違いしたのか健康診断のことしか頭になくて (ぐぐるカレンダにも健康診断のことしか入れてなかった)、履修ガイダンスに行きそびれた……
でも教務課窓口ならッ教務課窓口ならッなんとかしてくれるッ、と思うけどどうなんだろ……なんとかならないと困るんだけど……っていうかそうじゃなくて、こういうのは最初が肝心だと思うのだ。

あ、嘘。ぐぐるカレンダーに入ってた。
カレンダーの意味ないな。メール通知は2時間前ぐらいにしないとだめだ。しかしそれでも寝ていたら気づかない……

なんか電車が遅れている件。なんでだ


関係ないけど、高校の時に、最初はまじめに授業していたのにだんだん投げやりになっていった先生がいたのを思い出した。しかし投げやりな方が聴きやすかったっていう。


でっていう

はてグってメールからポストできるのかな

ここ数日の集中力の低下っぷりったらないなぁ……
眠い

さすが教務課。一瞬ででてきた。よくあることみたいだなぁ。

しかし健康診断混みすぎ。

keitairc特定チャンネルを優先表示みたいなのが欲しい。どういうふうにするのがいいかなぁ。

あるいは何かすると特定チャンネルの発言をメール通知するでもいいかもしれない。発言の最後にと特定ワードを付けるとトグルとかかな

Bluetooth 転送速度 (N73, 705NK, MacBook)

なんか学校でやるとすっごいはやい
400kb/sec ぐらいでる。なんで家だと遅いんだろ…… 無線 LAN と干渉してんのかな

日本大学が Google の Apps を契約したらしい。( http://www.google.com/a/edu/ これ?)

852

三日読んでなかったらレート5だけで 852 未読が

PlaceEngine TypeKey OpenID Login

なんかうまくいかないよおおおおお

2007年 04月 04日

履修

一年の時の必修もまだとってないのがあった気がする……
卒業できる気がしない……何か根本的に考えかたを変えないといけないだろうけど、どう変えたらいいのかわからない。響かないアドバイスは少し浮かぶ。でもだめだ。いまさら辞められないし、卒業もすごく遠いし、逃げ道がない。

勉強が嫌いなのに大学に行っているなんてやはりおかしいのだよなぁ。

なんで生きているんだろう。

学校のプロジェクトはたぶん形にならないと思う。形にしようとは思っていなくて楽しければいいと思っていると思う。それはそれでいいのだと思う。俺にできることは何もない。会話をしていると無理をしている気がする、相手も自分も。

めちゃくちゃ眠いのに眠れない。


どうやったら真面目に大学に行けるんだろう。みんなうまくやっているのになぁ……というかさらに教職までとっている人もいるのになぁ……何がだめなんだろう。


太陽が爆発したら、みんな優しくなると思う。

神様ごっこ

PASMO の履歴確認ページ

名前を半角カタカナで入力しないといけないのだけど、SKK で半角カタカナを入力する方法がわからない。勝手に変換してくれよおおおおおおおおおおおおおおお

C-q だった

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を開くとちゃんとパスワードは入力できるっていうのが、習慣はこわいなぁと思う瞬間でした (今すごくよってる)

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

2007年 04月 07日

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

バイト

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

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


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

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

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



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


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

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

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

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

2007年 04月 09日

GRAPEVINE

白日が素敵だなぁ

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

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

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

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

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

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


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

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

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

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


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

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

完全なる Gerry

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

2007年 04月 10日

NeoOffice + AquaSKK

「い」がそのまま入力できず、かならず「i」になってしまう。I と入力して確定するしかない。なんなんだ

ああ

きょうも gerry

2007年 04月 11日

a

あしたバイトじゃん。時間すぎるのはやすぎ

そういえば昨日は、起きた時に夢を覚えていたのに、書くのを忘れた。

よく見る夢。夢の中で手を伸ばしている子は二人いて、片方は明るい方に、もう一人は暗い方にいる。明るい方にいる人は自分を引っ張ってくれる。でもそっちに手を伸ばすともう一人に手が届かない。でも本当はどっちにも手が届かない。

俺がセマンティックウェブとか言っても、知ってる人からすると苦笑ものだからなぁ……
うまい落としどころを見つけないとなぁ

2007年 04月 12日

TODO 年金

学生特例申請しないと……

半袖で過ごせないなんて四月じゃない。
寒いの自体は嫌いじゃないけれど、季節を感じられないのは嫌だ。すごく混乱する。

寝過ごした

また寝過ごした……
1日に二回はひどい

2007年 04月 13日

せっかく風がちょうどよかったり、季節の匂いを感じても、歩きタバコで全部台無しなのだ。

こんにちは割れたはてなガムを yksk さんからもらった chowwwww です。

2007年 04月 14日

学校がたのしい、と自己暗示をかけることにした。まじ楽しいわwwww 友達全然いないのwwwまじうけるんだけどwwwwww
新校舎のデザインが好きだからまえよりちょっといい気分だ。無線LANが入ったら住みたいぐらい。だって禁煙だし、教室がガラス張りで明いし、コンセントあるし、天井高いし。期待していなかったから余計かもしれない。講義も登録したやつはそこそこ当りがおおいように感じた。ただ抽選になっているので、それで落されるんだろうな、と思う。おれのこういうときの運の悪さはないのだ。


しかしやることいっぱいありすぎだ。でも何もないと思うことにした。今あることをやればいいのだ。先のことなんて考えなくていい。せめて半年は本当に完全に頭を使わないで生きていく。思考停止するんだ。わるいことじゃない。


この期間におれが頭の使いかたを忘れて、悲しいことを忘れてしまったら、おれなんてその程度ってことだ。

ちんこ演算子

数名のかたに「ちんこ演算子って知っていますか」と訊いてみたのですが、あまり知っている人がいないのですね。ねこみみ演算子よりずっとメジャーなのに。

ちんこ演算子は Ada の代入や、Io の setSlot のシンタックスシュガーや、Pascal の代入に使われています。また最近では Ruby のローカルスコープ代入演算子としてちんこ演算子が提案されています。

ねこみみ演算子は Perl にしかありませんが (いやよくわかんない)、ちんこ演算子はおそらくもっとたくさんの言語にもあると思います。

ただし、ちんこ演算子は*左から*右に突っ込むことを意味していますから、ちんこ演算子を「正しく直感的に」使っている言語はそれほどないのかもしれません。

それと余談ですが、腐女子が使う演算子である「×」はそのままちんこ演算子に置換可能です。この場合は直感的に正しいちんこ演算子になります。驚き最小になって素晴しいですね。

mono TwitterIrcGateway.exe on ubuntu

$ sudo apt-get install mono

$ mono TwitterIrcGateway.exe
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/2.0/mscorlib.dll' directory.

$ lm /usr/lib/mono/2.0
ls: /usr/lib/mono/2.0: No such file or directory

$ sudo apt-get install mono-classlib-2.0
$ mono TwitterIrcGateway.exe
** (TwitterIrcGateway.exe:4924): WARNING **: exception inside UnhandledException handler: An exception was thrown by the type initializer for System.Windows.Forms.Form

ねむい!

RICE

いろいろバグあるみたいだなぁ。つかってるひといないのかな
Replay.rpl_welcome 系は使えない。数値コマンドなのに文字列でおくってしまう。とか
あとどこだかわすれたけどチャンネル名プリフィックスの正規表現がまちがってたきがする。

とちゅうでやめた

#!/usr/bin/ruby -d


require 'rubygems'
require 'twitter'

require 'socket'
require 'rice/irc'
require 'nkf'


class IrcTwitterGateway

	def initialize(host, port)
		@clients = []

		s = TCPServer.new(host, port)
		Thread.start(s) do |s|
			loop do
				@clients << Session.new(s.accept)
			end
		end

		# @pass, @nick, @login, @user

	end


	class Session
		include RICE

		NAME = "twittergw"
		VERSION = -1
		CHANNEL = "#twitter"

		def initialize(socket)
			@s = socket
			begin
				while l = @s.gets
					$stderr.puts 's <- c: ' + l.inspect if $DEBUG
					begin
						m = Message.parse(l)
						p m
						case m
						when Command::PASS
							@pass = m.params[0]

						when Command::NICK
							@nick = m.params[0]

						when Command::USER
							@login, @real = m.params[0], m.params[3]
							@host = @s.peeraddr[2]
							@mask = "#{@nick}!#{@login}@#{@host}"
							p [@nick, @login, @real, @pass]

							on_user(m)

						when Command::PRIVMSG
							on_privmsg(m)

						end
					rescue InvalidMessage, UnknownCommand
						$stderr.puts '- -: ' + l.inspect if $DEBUG
					end
					break if m.kind_of?(Command::QUIT)
				end
			#rescue IOError
			ensure
				@s.close
			end
		end

		def on_user(m)
			@s << Message.new(NAME, "001", [@nick, "Welcome to the Internet Relay Network #{@mask}"])
			@s << Message.new(NAME, "002", [@nick, "Your host is #{NAME}, running version #{VERSION}"])
			@s << Message.new(NAME, "003", [@nick, "This server was created #{Time.now}"])
			@s << Message.new(NAME, "004", [@nick, "#{NAME} `Tynoq` v#{VERSION}"])
			@s << Message.new(@mask, "JOIN", [CHANNEL, ""])
			log "Hello this is Twitter Gateway."


			@twitter = ::Twitter::Base.new(@real, @pass)
			@friends = @twitter.friends
			@s << Message.new(NAME, "353", [@nick, "=", CHANNEL, @friends.map{|i| i.screen_name }.join(" ")])
			@s << Message.new(NAME, "366", [@nick, CHANNEL, "End of NAMES list"])

			@timeline = []
			Thread.start do
				loop do
					check_timeline
					check_friends
					sleep 60
				end
			end
		end

		def on_privmsg(m)
		end

		private
		def check_timeline
			@twitter.timeline.each do |s|
				message(s.user.screen_name, CHANNEL, s.created_at.to_s + s.text)
			end
		end

		def message(sender, target, str)
			str.gsub!(/&#(x)?([0-9a-f]+);/i) do |m|
				[$1 ? $2.hex : $2.to_i].pack("U")
			end
			@s << Message.new(sender, "PRIVMSG", [target, NKF.nkf("-j", str)])
		end

		def log(str)
			@s << Message.new(NAME, "NOTICE", [CHANNEL, str])
		end
	end
end

host, port = nil, 19876
IrcTwitterGateway.new(host, port)
sleep

rubyforge の twitter gem package は依存が微妙にやっかい (外部サイトへの依存がある) なのと、since 指定でとってこれないので、自分でかいたほうがいい。

やっぱつづきかいた

http://lab.lowreal.net/trac/browser/chokan/trunk/tig.rb
update.json からの書きこみがうまくいかない……

LimeChat の IRC ログをそのまま表示機能をつかってデバッグしてる。べんりべんり

あーPOST にするんだ。
てかあたりまえだ

chokan のディレクトリ下に入っているのは修正済み RICE がそこにあってそれを使っているってだけなので、べつに chokan つかっているわけじゃないです。

direct messages もいけるようにした。あんまてすとしてないけど……

Ruby の 例外

いまいち理解してないかんじだ……
ここでキャッチできるよなぁってときにキャッチできてなかったりする。うーんスタックたどってくんだよなぁ

2007年 04月 15日

irssi

-!- Irssi: critical nicklist_set_host: assertion `host != NULL' failed

がでまくる。
なにがわるいんだろ。書いたゲートウェイがわるいのはかくじつだけど、再現できなくてこまる。

JOIN, PART のメッセージがまちがっていたからみたいだ。たぶん

ちかん

置換をどうしても「おきかえ」と発音してしまうんです。頭の中だけならまだしも、リアルでも素で言ってしまいます。

2007年 04月 16日

フィルム

フィルムの値段/現像代を見てるとデジタルの素晴しさがしみじみと……財がないと無理すぎる
デジタルはシャッター限界までとれるもんなぁ

2007年 04月 15日

tig.rb (twitter irc gareway)

このエントリはやばい激烈古くてマジうけるーwww なので、github の net-irc の tig.rb をつかいましょう

git clone git://github.com/cho45/net-irc.git
cd net-irc
ruby examples/tig.rb --debug

このエントリは激烈古くてマジうけるーwww なので、net-irc の tig.rb をつかいましょう

svn co http://svn.coderepos.org/share/lang/ruby/net-irc/trunk net-irc
cd net-irc
ruby examples/tig.rb --debug

だいたい安定したっぽいのでログをまともにした。

リポジトリの位置がきもいので移動させようかとおもったけどめんどい。

導入ほう:

  1. mkdir tig
  2. cd tig
  3. svn co http://svn.lab.lowreal.net/lowreal/chokan/trunk/rice/
  4. wget http://svn.lab.lowreal.net/lowreal/chokan/trunk/tig.rb
  5. ruby tig.rb

スクリプトの設定はなし。接続方法は http://subtech.g.hatena.ne.jp/mayuki/20070408/1175994705 と同じ

常時起動の Windows がない人はいいかもよ! (っておもったけど、もう typester さんの ( http://unknownplace.org/memo/2007/04/15#e001 ) でもいいよね。アカウント設定するのがプチめんどいくらいだよね)

問題点:

  • とりこぼし? あるかもしれない。どういうことかよくわかってない。
  • 500 がでたときは冷たく失敗したよってことだけ伝える (再送しない)
  • 設定ができない (ソースが設定だよ! 書きかえればできるよ!)
  • 自分の発言がでてくる (自分はこのほうがいいんだけど)

xmllint catalog

http://www.akatsukinishisu.net/wiki.cgi?XSLT%A4%C7catalog_file%A4%F2%BB%C8%A4%A6
おお
xmllint では (Mac ではデフォルトではいっているはず。たぶん)

       --catalogs
              Use the SGML catalog(s) from SGML_CATALOG_FILES. Otherwise XML
              catalogs starting from /etc/xml/catalog are used by default.

で、--catalogs つけないときは /etc/xml/catalog をよむみたいだ

$ cd /etc
$ sudo mkdir xml
$ cd xml
$ sudo vim catalog
$ cat catalog
<?xml version="1.0"?>
<!DOCTYPE catalog
 PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <public publicId="-//W3C//DTD XHTML 1.1//EN"
    uri="xhtml11-flat.dtd"/>
  <public publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
    uri="xhtml1-strict.dtd"/>
  <public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN"
    uri="xhtml1-transitional.dtd"/>
  <public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN"
    uri="xhtml1-frameset.dtd"/>
  <public publicId="-//W3C//DTD XHTML Basic 1.0//EN"
    uri="xhtml-basic10-f.dtd"/>
</catalog>
$ sudo wget http://www.w3.org/TR/xhtml11/DTD/xhtml11-flat.dtd
$ sudo wget http://www.w3.org/TR/xhtml-basic/xhtml-basic10-f.dtd
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-transitional.dtd
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-frameset.dtd
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml-lat1.ent
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml-special.ent
$ sudo wget http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml-symbol.ent

これやらないと激おそい。

hcard microformats

ちょっと同時多発的に使う機会があるので調べてる。
こういうのは書いてみないとわからないものだ。

例えば wiki の例で

<span class="tel">
 <span class="type">home</span>:
 <span class="value">+1.415.555.1212</span>
</span>

みたいな例があるけれど、"home" なんて日本語の文書ではつかわない。

でもこれにはちゃんと回避策があるようで

<span class="tel">
 <abbr class="type" title="home">自宅</span>:
 <span class="value">+81-901*111*11</span>
</span>

のように書けるようだ。

<abbr title>: use the value of the 'title' attribute. If there is no 'title' attribute then use the contents of the element.

Example Web Page

あと、基本的には純粋にクラス名だけを見るため、要素には何を使ってもいい (上の abbr のように特別な要素はいくつかある。a, img, object)

2007年 04月 17日

HHKB

あまりにも Windows を使わないので、Windows にささっていた HHKB を設定しなおして MacBook に繋ぐことにした。
MacBook は USB ポートが左についているのが残念だよなぁ。

tig.rb athack

http://lab.lowreal.net/trac/changeset/668

http://unknownplace.org/memo/2007/04/15#e001 の @ をつけるというのが便利そうなので実装してみた。

realname のメールアドレスのあとにスペースをいれて athack を書くと有効になる

twitter {
    host: localhost
    port: 19876
    name: cho45@lowreal.net athack
    password: ***
}

この @つき nick は JOIN でおくらないと irssi たんはうまく補完してくれないみたいだ (353 だと op の @ としてパースされるみたい。@@ とかやってもだめ)


ゲートウェイ側で「先頭が nick なら twitter.com への送信時 @ をつける」としてもいいかもしれない……

講義は独りか、真面目な人と聞かないと頭を使わなくなる。

FreeBSD rc.d

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/rcng-hookup.html とかあるけどよくわかんない……
どう書くのか見ようと思って /etc/rc.d 以下の cron とか読んでも実際そこでは起動してないみたいだし

/etc/rc.d/bridge は参考になるっぽい。

hoge_start () {
    _cmd="--start
}

みたいにすると「何かが」変えられるのかな

postfix の rc.d を参考にすることにした

2007年 04月 18日

キーボード

キーボードを持っていくかどうかで毎回悩む……
ケースがないのとカバンに空きがないから持っていかないんだよなぁ

vim C-f の履歴

ってどうやって増やすんだろ

2007年 04月 19日

グラデーション

まだまだ

こういう、谷間のときにどうするかだよなぁ

tiarra whois

どうやっておくるんだろ、って思ったけど、twitter のアカウントを @ つけて送ってるからだめなんだ。@ なしで whois できるようにだけしとこう

tig.rb who whois

whois に対応したお! (たぶん

マジックナンバーが多くなってしまうので、RICE の API を変更しました。なので rice もうちの svn からチェックアウトしないと動かなくなりました (前までは一応本家のでも動いてたはず。deprecated なメソッドとかをなおしただけなので)

グループわけで疑似チャンネルってのもおもしろそうだけど設定書くのが嫌なんだよなぁ。/join /invite (/part, /kick) でグループつくって、鯖はそれを保存しとく (Marshal とかで一時的に) とかでいいかなぁ。というかそれなら yaml で出力して直接編集できるようにしてもいいか。

だめだ

どうしたらいいんだろう。

どうしたらいいんだろう。

2007年 04月 20日

なん

なんにも、うまくいかない。みんな

眠い

やる気なくす。でも、頑張らないと……

楽しくしようとしてるのはおれだけか。そうかそうか。

まだ諦めるのははやいのかな? わかんないな。もう諦めてもいい気もするけど、でも一応やっておかないといけない気がする。

先生もさ、あれなんだよ。変な学生はいらないと思ってる。だからおれはどうしよもない。

つまんないんだよ。ぜんぜん。ちょっとやってみようって思うと、それを潰しにくるんだもんな。別にそれって、誰かが意図したわけではないものだから、たぶんおれの何かが影響してそうなってるんだと思うけど、よくわかんないな。

なんであの人は、怒ってるんだろ。誰も (あの人も) 何もやってないじゃん。何も、だよ。やらなくていいことは、やらなくていいのに。誰もやれなんて言っていないんだ。


健康科学の講義が宗教についてもちょっとやってて面白いと同時に危うさを感じる。でもあの先生はバランス感覚がいいよなと思った。かたむいてるときに適切に逆方向の説明をはじめる。うまいなぁ、と思った。でも途中から眠くなって寝た。ネットつながんない。


歩きタバコに毎日キレそうになる。SATSUGAI したくなる。でも僕は犯罪者になりたくない。人間のようなインターフェイスを持った人間ではない何かにたいして毎日キレそうになるのはすごく疲れる。平和に登校したいだけなのに……

2007年 04月 19日

tig.rb 疑似グループ機能 (チャンネル)

てきとーにチャンネルを作り (/join #test@twitter), ヲチしたいユーザを invite (/invite cho45@twitter) すると、そのユーザの状態だけが流れるようになります。ヲチるのをやめたいときはそのユーザを kick します。だれをヲチに追加したか忘れたときは who してください。あるいは設定ファイル読むとわかります。

設定は ~/.tig に保存されます。設定のリロード機能がまだない。

めちゃくちゃいっぱい add friends してる人には便利かもしれない。

2007年 04月 20日

デンパ

親父殿に電波時計を買ってもらった (自分で払うのかと思ったら請求されなかった。謎だ。というかヨドバシ行くけど時計いる?みたいなメールがきて返信に悩んだ)
電波時計の時計あわせって少くとも5分ぐらいかかるのが気になる。説明書には最長で21分と書いてあった。これってどういう仕組みなんだろ。電波の速度は考えなくても問題ない気がするけど (NTP と違って)、ノイズが多いからそれの調節してんのかなぁ。日付も受信してる。

tig.rb retry

なんか思ったよりちゃんと送れないことが多くて悲しいので 3 回はリトライするようにした。

todo tig.rb

RICE の Message にクラス変数を加え、エンコーディングの設定をもっと透過的にできるようにする。(今は JIS 決め打ち)

電波時計のメモ

コールサイン JJY, 周波数 40kHz (7.5km, 福島), 60kHz (5km, 佐賀/福岡)


そういえば大気状況で伝達状況が変ってしまうからたいへんだよなぁ。ルートが違う電波の補正とかってどうやってるんだろう……長波だと影響が無視できるほど小さいんだろうか。


http://jjy.nict.go.jp/jjy/trans/index.html
一秒に 1bit 送信しているらしい。1sec のうち、0.2sec が「強い」部分の立ちあがりが信号のマーカーなので、その部分をまず受信電波中からさがして (でもマーカーとポジションマーカーとの違いってどうやって見分けるんだろう)、情報を読みとりはじめ、とりあえず一回あわせる。
でもって受信ミスとか、精度向上のために何度か繰かえすのかな。
それともマーカーを見付けるために時間かけてるのかな。


あと、この電波ってJSTで送信されてるみたいだけど、なんでだろ。UTC で送信して時計側で補正させるほうがユニバーサルなんじゃないのかな。隣りの国にいったとき、JST の電波を受信してしまって時計が狂ってしまう、みたいなのがなくなると思うんだけど、なんかあるんだろうか。

2007年 04月 22日

時間系

時間超える系で考えること (主になる世界がひとつである仮定のもとで)

  • どこに時間がながれているか (本当の時間の流れというか、記憶がのこっているか)
  • 他人との関係 (同時に超えたりしたときのロック)

時かけで完全に記憶をたもっているのは、チャージ用のくるみと魔女だけかな。あとは個人個人の主観の時間が流れてて、他の人の主観の時間に他人が影響される (常にあとが優先)

クロチャだと祠とその周囲が記憶をたもっていて、他はロールバックされない限り主観の時間が個々で流れてる。祠と関係を持っている限り主観時間は全員継続するっぽい。時間移動のタイミングがいつも同じなので、他人との関係は考えなくていい。

バタフライエフェクトだと主人公のみが記憶をたもっている。他人は一切時間移動ができないのでそもそも関係性を考える必要がない。主観時間のみ。



それとは別に、時間の一瞬を切りとったような世界が常にいくつもあって、それをただ移動していく (「時間移動」に見えない瞬間、例えばたった今と次の瞬間とかも) と考えた場合のことも考えてる。けど、これだとなんでもつまんなくなる。時間移動自体には制約がないので、そのへんはおもしろくない。重要なのは「なにをきっかけにして、安定した世界の移動を破壊したのか」みたいなところだけかな。

死をデザインする

これ本としての装飾がかっこいい。
本自体の表紙とか裏表紙にはプリントがまったくなくて真っ白で、ケースがついてる。

今年はデザイン系の授業がないので、なんか独学できないかなぁと思い、アマゾンで高評価な本を一冊買ってみたけど、あんまり新しい発見はなかった。前年の授業でやったことが一冊にまとまってる、みたいな感じだった。
デザインの考えかた、みたいな本が欲しいなぁ。たぶん基本以上のことって言葉にできない部分が多いんだろうなぁ。美大の先生はデザインの勉強は体育会系的 (体に覚えこませる) みたいなことを言っていたから、なんか数をこなすのと目を養うとかになってしまうのかもしれない。

よく思うんだけど、おれはどうやら「いい目」を持っていないらしくて、微妙なバランスの悪さに気付かないことが多々ある。どうしたらいいんだろ。英字まじりの日本語文のバランスの悪さとかって言われないとわかんないよ……

2007年 04月 23日

休み

この二日間何もしなかった。何も。
ひどい。

コンサル

なんかどうしてもコンサルティングとかコンサルタントとか聞くとうさんくさく感じてしまう。なんでだろう。
全然そういう人と関わったことないんだけどなぁ。

ow

終末のときに優しくなれる人と友達になりたいと思う。

HTML は何がいいのか

HTML の利点がよくわからなかったりする。どういうケースで HTML のほうが「良い」んだろう。(文字化けはわかったけど、それだけで HTML っていうのはなんか不思議な感じがする)

HTML と XHTML がそんなに変わらないなら、XHTML 使ったほうがいいと思うんだけどなぁ。microformats とか導入しようと思っても、できないしなぁ (使わないからいいや、みたいなのはわかるけど、いつまで「使わないでいいや」が続くんだろ。それに、自分が使わなくても、誰かがそれを「加工しやすい形」にしておくことには価値があるんじゃないのかな)

というか HTML 対応は XHTML より難しいと思う。HTML Strict なんて http://lowreal.net/2004/html401.html こんなのでも Strict だし、どっちにも (XHTML っぽいのと、HTML っぽいの) 対応しようと思うと大変だ (もちろんライブラリはいくつかあるけれど、そのライブラリのサポートが自分の愛している言語にあるとは限らない)

それと XHTML の場合、すくなくとも well-formed であれば他人に使ってもらうのは十分だ (パースできるから)。Valid である必要は実際はなくて、趣味だと思う。(ちょっと乱暴だけれど) XHTML の要素の意味なんて考える必要なんてない。そんなことは酔狂なやつだけがやっていればいい。div 厨で br 使いまくってても well-formed のほうが素敵だ。でも HTML の場合はそうはいかない。Valid じゃないとちゃんとパースを完遂できないんだ。DTD を頭に入れていなければ HTML は書けないんじゃないかな。


他の人にちょっと聞いてみたけれど、

14:26 < k1m> HTML よく知ってて XHTML よく知らないんなら HTML でいい

が答えなのかなと思った。これから何か書くなら「XHTML でいい」んじゃないかな。みんなは「無理してHTMLを使う」ことはないんだ、と自分は思う。


microformats は HTML でも使えるらしいです>< すいません。

今学校なのであとで書きなおす……

新見南吉童話集

新見南吉童話集を買って読んでるけど、切ない話ばっかりなんだなぁ。

qwikWeb つかいはじめた

テンプレートをどうするか悩む。HTML 4.01 Transitional なのだけど、XHTML 1.0 Strict にするかどうか。

  • id のつけかたが違反になることがある。(MD5 とってるっぽいのをそのまま id にしているので、数値が最初にくると invalid になってしまう)
  • body@onload で何かよんでる
  • xmlns:v はどこでつかってるんだろ。
  • JS がけっこうある (マークアップ変えてから確かめないといけない)
  • htree って要素置換のルールってどうなってるんだろう…… (id 置換って内容全部かわってしまうのかな)
  • CSS も書きなおすことになる

つかっていないプラグインをとりあえず考えないことにすると、id のつけかただけどうにかすればいいのかな

2007年 04月 24日

サービスのデザイン

消極的なマーケティング、なのかなと思った。
もしかしてあたりまえなのかな

勉強会

まだ資料できないなぁ
TODO って書いてあるところが数カ所あったり、RDF について書きすぎ (でも説明しきれてない) な感じで microformats がすくなくなってしまっているので足したい。
RDF の説明をどうするか悩む……真面目に説明するなら今の資料でもまだぜんぜん足りないし、その場合は kanzaki.com と仕様を読みながらになるけど、時間がかかりすぎるよなぁ。興味を持ってもらえるところ、ってのがよくわからない (スキーマ書くところのほうがおもしろいかなぁ)。microformats とかを GRDDL で RDF に変換してほげほげってのは楽しいかもしれないけど (けっこうわくわくする)、そこに辿りつくまでが長すぎる……

hCalendar とか hCard だけでも十分おもしろい気がするけど、ちょっとセマンティックウェブの臭い (謎) が薄いんだよなぁ……

2007年 04月 25日

学校の帰り

学校が楽しくない、とよく自分は言うけど、たぶんそれは今の生活が学校を中心としているからで、たぶん学校をやめても、何かが楽しくなるわけじゃないんだと思う。つまりは、自分の人生や生活ないし「自分自身」が楽しくないのだと思う。どこ行っても同じなのかもしれない。

大学でコミュニケーションをとるたびに、いろいろ凹んでいく感じだ。「インターネットなんてあんまり興味ない」人ばっかりで、「プログラムなにそれなんか難しいっていうかプログラム書けるやつってキモいよね」みたいな雰囲気で、好奇心を表にださず (それが良いという風潮なのかもしれない。自分もそういう傾向がある)、彼らの中のルールが見えてこない (みんなすごく無口だ)。デザインをやりたい、みたいな人って多いけど、デザインのことを一日3時間以上考えている、みたいな人は少ない気がする (ちゃんと訊いたわけじゃないから、見えにくいだけなのかな)。サークル活動に忙しそうだ。「友達がいるならいいよね」みたいなセリフを聞いてガッツリ凹んだ (たぶんそれに悪意はないんだと思う)。死にたかった。

でもとりあえず、少なくとも一年間コミュニケーションとりつづけていく人たちで、歩きタバコをしているのをまだ見たことないのは幸いだと思う。たぶんそれがあったら完全にやる気なんてなくなるし、もっと嫌な気分でやらなくちゃいけなくなる。


そういえば今日は、帰りの電車で、紺のセーラー服の地味だけど綺麗な女の子が、隣りに座っていて、眠そうにしていた。だんだんかたむいていくのだけれど、電車が止まるたびに (急行だからそんなにとまらないけれど) 体勢をなおして駅を確認するのが可愛くて、優しい心持ちになれた (童話集読んでたのもあるだろうけど)。残念ながら途中で降りてしまって、となりには変な人が座ってしまったけれど、電車もこういうときだけは「悪くない」と思える。ああいう子が増えたら平和なのになぁと心底思う。(この前にも同じようなことがあったけど、どうやら自分はこういうシチュエーションに弱いらしい)

戦うぐらいなら逃げたほうがいいと思う。
勝ち負けに拘るぐらいなら負けでいい。

Mac の Address Book が utf-8 な vcf を読めない

utf-16 だといける。めんどす

Thunderbird 2.0

2.0 でてたとか罠だ……つぶやいたら yk さんに教えてもらった。

CPAN がエラー

Fetching with LWP:  ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/authors/id/K/KW/KWILLIAMS/CHECKSUMSprompt function called without an argument at /usr/share/perl/5.8/ExtUtils/MakeMaker.pm line 131        ExtUtils::MakeMaker::prompt('undef') called at /usr/local/share/perl/5.8.7/CPAN.pm line 2638

....

いけたりいけなかったりする

2007年 04月 27日

カレントディレクトリにある jpg を exif の日付にしたがいフォルダにふりわける

~/pictures/ 以下にてきとーにほうりこんだ jpg を 2007/0427 とかにふりわけるだけ

#!ruby

require "rubygems"
require "exifr"
require "pathname"

Pathname.glob("*.jpg") do |f|
	date = EXIFR::JPEG.new(f.to_s).date_time_original
	path = Pathname.new(date.strftime("%Y/%m%d"))
	path.mkpath
	f.rename(path + f)
end
2007年 04月 28日

ほげ

うぇぶっぽい飲み。たのしすぎる。しかし腹痛い
id:ZIGOROu さんに教えてもらって人生初びりあーどした。おもしろいなぁ


帰ってくるのときに自分の変な名刺がなくなってるのに気付いた (置きわすれたっぽい)。んがー

リュックサック

ダサくないリュックサックが 5k 以下で欲しいお! 一眼レフカメラが入って替えのレンズが二個ぐらいはいって、ノートPCがはいって、ルーズリーフが一個入って、貴重品用のポケットがある、そんなリュックがほしい。

ということではてなリュックサック欲しい!

勉強会でセマンティックウェブについて話しました

バイト先の社内勉強会で SW/sw について話しました。資料を公開します。sw (SW)

なんというか、セマンティックウェブとか自分が言うとすごい恥かしいというか、「お前がセマンティックウェブとか笑わせるなよwww」って感じなんですが、もうちょっとこういう方面にも興味がわいてくれたり、理解がすすんでくれると面白いかなぁと思いやってみました。自分自身もよくわかっていない点が星の数ほどあったし、今もあるので、勉強になりました。

たぶん突っ込みどころがたくさんあると思うので、てきとうに突っ込んでいただきたいです。(勉強会は常時質問をうけつけながら、説明不足 (foaf が何の語彙だとか、XML の名前空間がどうとか) を説明していきました。最初は20分とか40分の予定だったのですが、いたらなさゆえに2時間ぐらいやってしまいました)


FOAF の RDF を例にしたのですが、あまりよくなかったと思います。FOAF ではメールアドレスを識別につかうんだよ、っていう話は口頭でしたので、資料のはのっていないです。foaf:Person に rdf:ID をつけている例がありますが、普通これはやりません。


少しだけ実演したソースです。Redland のほうはイメージしやすいかなと思います。ruby-binding とかは apt で入りました (librdf が Redland です)。

もっと実装の話をしてもよかったかなぁというか実装から入ったほうがよかったかなぁとかなんとか……


てきとーに眺めて興味がわいたら メタ情報とセマンティック・ウェブ を読んでみることをお勧めします。

正面

ビリヤードやってておもったけど、どうも正面っていうのがよくわかってないらしい。おれは体がまがってるというか性格がまがってる。

2007年 04月 30日

Test

#!/usr/bin/ruby

require "rubygems"
require "exifr"
require "pathname"

Pathname.glob("*.{jpg,JPG}") do |f|
	date = EXIFR::JPEG.new(f.to_s).date_time_original
	path = Pathname.new(date.strftime("%Y/%m%d"))
	path.mkpath
	f.rename(path + f)
	puts "#{f} -> #{path}"
	raw =  Pathname.new(f.to_s.sub(/jpg$/i, "CR2"))
	if raw.exist?
		puts "#{raw} -> #{path}"
		raw.rename(path + raw)
	end
end