トップ «前月 最新 翌月» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ToDo:


2009-05-02

_

http://d.hatena.ne.jp/isshiki/20090430/p1

ありがとうございます。 大丈夫だと思うのですが大丈夫なんですかねえ。

アメリカはだだっぴろいからこの手のヤツは 日本ほどは全員感染! みたいな状況にならないイメージがあるけど、 実のところどんな感じなのかなぁ。

(14:32)

_ インターン

そういえばインターンの季節らしいので宣伝せよとのことなのだけど、 とはいえ新卒と違って僕にメリットが無いのでやる気がおきないのであった…

インターンと言うと、なにかものすごくいいものだという印象があって、 まぁ僕もやっておけば良かったような気もするんだよな。 インテルとかでインターンしたかった!

無理だよ!!

というのは、別にクラスタ〜とか特に興味なくても、 グーグルのインフラとかプログラマなら一度はのぞいてみたいだろうし、 インテルがどうやって CPU 作ってるかとか MS とかシスコとか、まぁそいうの少しずつ見てまわりたいわけだ。 そいう意味で3ヶ月ってのは絶妙にいい感じだと思うんだよな。 給料とか的な意味でも、一般的に 正社員からボーナスと保険とかそのへん引いたくらいとかいうウワサを聞くし。

一方社会経験的な視点は全くもってどうでもいいというか、 なぜ遊べる身分なのにわざわざ働くことに意義を感じる人がいるのか略

でまぁ日本でインターンするとすると、 はてな…とかはまぁ別にいいとしても、 ソニーCSLとかなんかそいうのでできたりするのかな。

はてなが別にいい理由を考えてみると、 なんかオープンな会社はだいたい見当がつく部分が多めで 興味がわきづらい、ということがあるのかも。 まぁ、オープンだから興味がわくという人も多いのだろうけど。

(14:47)

_ そういう

つまみ食い精神で考えると、 プログラマ志望の人はハードウェア屋会社に インターンしに行けば良いのではないか。

サンワサプライでジョイパッド作るとかそういうですね…

(14:52)

_ 8ゲーム

最近暇なのでオンラインでポーカーをぼんやりやる。 今日はなんとなく8ゲームのフリーロールに出てみた。 ルール覚えながらなのだけど、結構たのしい。 適当にやってたけど運がよくて、4104人中258位だった。 48人までは賞金トーナメントに出れたので、 もうちょいねばれなかったもんかなあとか思ってしまうね。

(19:29)

_ リミット

オンラインだとリミットは ノーリミットより理不尽な負け方しないのがいいね。 なんかトーナメントとか最初の方適当に オールインする子が多くて、 確実にやろうと思うとAKでレイズした後とかでも 泣く泣く降りちゃったりとか、 乗ってみたら25とかに殺されたりとか、 まぁそいうのがかなしい。

ターンで3カードできてオールインされたからコールしたら リバーでストレートできたりとかそういう。

(19:35)


2009-05-03

_ 8ゲーム

ふたたびトーナメント

max 58276, avg 10563 という 852/6000 生存という感じの状況で 27082 あるので調子が良いといってよい。

ロードローとかラズとかでよく稼げるのは、 哲也に出てきた運が悪すぎて国士しか出ない子のようだと思った。 まぁというよりは不慣れな子が(俺も不慣れだけど常識的な判断力くらいはある) アホな状態(ラズで絵しか見えてないとか)で突っ込んでくる のを適当に屠れるからかと思う。

(04:35)

_ 結局

417/6000位。へぼいなあ。 オマハH/Lでこれローの方は勝ってるよね… と思ってたら負けてて万近く浪費したのがデカい。

(05:26)

_ grubいじり

前回までのあらすじ: grub の API で testsprite 作ってみたら遅かった。

とりあえずフリッカはこのへんのパッチで OK 。

http://www.mail-archive.com/grub-devel@gnu.org/msg08902.html

本流には merge されてないみたいだけど GSoC の成果らしい。

でまぁなんか遅いのがなんでかはよくわからん。 VBE の set display start かなんかで 毎回 real モードから protected モードにしてるからかなぁ、 と protected mode から使える関数をひっこぬく VBE2 の関数使ってひっこぬいてみたけど、 qemu だと実装されてないみたいだ。 まぁそもそも qemu 上で int 0x10 と関数呼び出しに 大きな速度差があるかは謎だ(1 frame に 1回しか呼ばないので律速する要因ではない気がする)。

となると VRAM への転送を、書き込まれるたびに なんかエミュレーション〜って感じになってて遅いとかかなぁ、 とか思うのだけど真偽は不明。 今思ったけど qemu をプロファイラにかけてみるという手があるね。

まぁそうだとしても、 VESA とかなんも知らんので どうやったら速くなるかさっぱりわからん。 VBE-AF に BitBlt とかあると見つけて このへんかなーと思ったけど、 これも qemu には無いんじゃね。

(10:22)

_ protected mode 用の関数をひっこぬいてくる関数

を足すパッチはこのへんにあった

http://projects.cs.kent.ac.uk/projects/rmox/svn/rmox/trunk/patches/grub-1.95-vbe.diff

(10:28)


2009-05-07

_ いんたーん

http://shichiseki.jp/m/?date=20090506#p01

しかし冷静に考えると学生時分に ソフトウェア屋としてですら社会人として働ける自信が無いのに、 ましてよく知らんハードウェア屋とか、 常識で考えてそんな発想しないと思ったのでした。

つまり前の記述はなんかこう、アレですね。 学生を見つけると「学生のうちに〜をやっておけ。俺みたいに後悔することになるぞ」 的なこと言ってるキモい大人系発言だったということですね。 学生の時はどうして社会人と学生の会話はこうキモいのかと ずっと不思議でならなかったけど、 なんのことはない僕もキモい社会人に仲間入りしてしまったのであった!

(18:55)

_ キモい会話の典型の一つに

「学生のうちに免許取っておけ」があるわけだけど、 まぁたしかにあった方が良かったかもね!! とか思うこともあるね。こっちで不便すぎる。

でも常識で考えてアメリカとかに行くとは思ってないわけだ。

(18:57)

_ アドバイス

というわけでキモいアドバイスの中に一定の真実が 含まれているのは残念ながら事実なんだとは思う。 例えば英語ができなかった僕は 「大人になったら後悔するぞ」とキモアドバイスを受け続けたわけだけど、 まぁ確かに英語できたらいいだろうね!! と今思うわけだ。

だけどかといってキモアドバイスを全部真に受けてりゃ 時間が足りないわけで、

  • キモアドバイスを全部をやって器用貧乏になる
  • キモアドバイスを少しやってギャンブル(役に立たないアドバイスばかりやってたと後で気付いたらガッカリ)
  • 完全に無視して勝手なことをする

この3つだとギャンブル好きでない人間としては、 どう考えても最後になるよなー

(19:03)

_ 8ゲーム

今日やったら207位だった。 成績自体は割といいんだけど、 最後の方の運の悪いっぷりがせつなかった。 経験上ああいう精神状態で無理に悪い手で勝とうとすると死ぬので、 我慢できただけでも良かったと言っていいかなぁ。 手が論外すぎてフロップ見ようともしないから死にもしなかったし。

でも最後オマハのQフラッシュで特攻したらKフラッシュに殺されたのは、 もちょい我慢すべきだったかなぁ…とも。

(19:07)


2009-05-08

_ WebKit

この単語はタイプしにくすぎると思うんだよな webkit ならラクなんだけど

(16:24)


2009-05-09

_ 複数行にまたがるコンテキストを持つほげほげ

http://cvs.m17n.org/~akr/diary/2009-05.html#a2009_05_07_2

こいうのは僕の長年のテーマではあるような、気がする。

この手のものの解決としてフリップフロップ演算子があるわけだけど、 まぁ、このケースはまぁ、ループを2重にすべき場所なんじゃないかなぁと漠然と思う。

io = STDIN
l=io.gets
while l
  w = l[/\w+/]
  a = [l]
  while (l=io.gets) && /^#{w}/ =~ l
    a << l
  end
  puts a.sort
end

この手のコードで気にいらないのは、 l = io.gets が二箇所あることだと思う。 あとこの手のは a << l 的なのが二箇所に出ちゃうケースも多いんだよなぁ。 こいうの(イマイチ共通の問題として分析できてないけど、なんとなくこの手のコード重複を)なんかあるといいだんけどねえ。

(14:50)

_ syard

shinh.skr.jp/syard がなんかおかしいという話なんだけど、 まぁ SEGV とかしてて笑った。 これどうしたらいいのかなぁ。

自分が書いたという記憶が全くないものがいくつかあって、 それはまぁ技術的に思い入れがないものが多いわけだけど、 syard もその一つで全く書いた時の記憶がないんだよなぁ。 びびる。 思い出してみると絵をかいてもらったりとか JSに苦労したりとかある気もするんだけど

Scotland yard それ自体はまぁ面白いゲームだとは思う。 あまりバランスとかはよくない気がするけど。

(14:59)

_ SDL

の方はなんというか、要は時間が足りなかった。 体調悪くなる前の一日というか一晩で objdump の結果のパースと、 ptrace でステップ実行するところまで作れたのはよかったのだけど、 本当にそれだけで終わってしまった。

objdump 使う必要はそんなになかった気がするんだけど、 結局 ELF/x86/dwarf と 3つも読む必要のあるバイナリフォーマットあるとだるいんだよな。 まぁ x86 はライブラリにまかせるとしても…

そいや TCC のオプティマイザとか書いてみたいなぁとすこし思う。 x86 を読んで x86 をそのまま吐くようなもの。 スタック使わないようにするだけでそれなりに速くなったりするんじゃないかなぁ。

(16:38)

本日のツッコミ(全2件) [ツッコミを入れる]

_ pi8027 [shinh.skr.jp/ncheck/ とかもエラーになってますよー。]

_ shinh [それなんだっけ…と思いましたが思い出しました。なんか修正しておきました。ありがとうございます!]


2009-05-11

_ ばってり

http://www.amazon.co.jp/SANYO-USB%E5%87%BA%E5%8A%9B%E4%BB%98%E3%81%8D%E3%83%AA%E3%83%81%E3%82%A6%E3%83%A0%E3%82%A4%E3%82%AA%E3%83%B3%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC-%E5%B0%82%E7%94%A8%E9%AB%98%E5%AE%B9%E9%87%8F%E3%83%AA%E3%83%81%E3%82%A6%E3%83%A0%E3%82%A4%E3%82%AA%E3%83%B3%E9%9B%BB%E6%B1%A0%E4%BD%BF%E7%94%A8-KBC-L2S/dp/B0010TA3M0

こいうのを買うと、 USB 機器が充電できつつさらに電池も充電できる、 のだと思う。 デジカメを使ってみたり、 アンドロイドの GPS で行動記録とか取ってみてわかったのは、 電力供給重要だなぁということなのだった。

世の中には USB 髭剃りというのもあるらしいので、 このへんもあるとバッテリ一つで旅行行くことができるんじゃないかなぁとか思う。

http://plusd.itmedia.co.jp/pcupdate/articles/0508/22/news014.html

(18:21)


2009-05-12

_ SPARC打ち切らない

http://slashdot.jp/article.pl?sid=09/05/12/0328230

へえ…

(14:00)

_ Lingr打ち切り

http://japan.cnet.com/blog/kenn/2009/05/01/entry_27022150/

via http://practical-scheme.net/wiliki/wiliki.cgi?Shiro&l=jp

なんというか、さみしい話だなぁと思った。

そいや kocha って結構使われてた気がするなぁとか思ったけど、 あんま使われてなかった。

http://www.google.co.jp/search?q=%22powered+by+kocha%22&hl=ja&lr=lang_ja&safe=off&filter=0

なんか改変して使ってもらってるとかあった気がするんだけど、 そいうのは powered by 消えてるだろうし探すのだるいな

(14:06)

_ gather

http://www.nabble.com/-ruby-dev:38392--Enumerable-gather_each-td23457727.html

via http://cvs.m17n.org/~akr/diary/2009-05.html#a2009_05_09_1

なにやら面白い議論になってるなぁ。

gather という名前よりは aggregate の方が良い気もするけど、 ゴル略的になのが略ではある。

SQL の GROUP BY なんかは aggregation って言われるわけで、 感覚としてはあのへんに近いイメージがなんとなくあるよね。

http://www.google.co.jp/search?q=select+%22group+by%22+aggregation&ie=euc-jp&oe=euc-jp

あとなんか現状の提案だと直前も直後も両方分けるようなのが無さそうだなぁ。 どいうのかというと、 C 言語のソースから struct だけ切り出してきて他の部分は全部捨てる、とか。 そいうのも似たような API でやれんもんなのかな。

(14:56)

_ ごきぶりポーカー

http://d.hatena.ne.jp/nishiohirokazu/20090512/1242073617

をチラっと見て。あまり関係ないことを。

ごきぶりポーカーの問題点は単に最弱を決めるゲームだからだと思う。 僕的に似たような分類のゲームのコヨーテの方がはるかに面白い。

まぁ回すメリットがありまくりなのはその通りだとして、 まぁ割と色んな心理的なやりとりがあるにはあるんだよな。

ごきぶりポーカーってゲームは要は死ななきゃ勝ちで、 死なない方法は大別して二つあって、 回した相手がさらに回してくれるか、 全く回ってこないうちに誰かがダウトして終わるか、 のどっちかで、 前者は速く回してもらわなければならず、 後者はなるべく後にして欲しい。 基本回す系の場では前者になれば良く、 基本回さない系の場では後者になれば良い。 前者になるには、 「この人は回してくれるから自分は危険にならない、この人に回そう」 と思われればいいので、序盤にあんまりダウトしなければいい。 後者になるには、 「こいつはダウトしてくるしその精度もいいし危険だ、他の人に回そう」 と思われればいいので、序盤にキチンとダウトしていけばいい。

で、問題は、どっちのプレイスタイルも、やってて全く面白くない。

まぁ個人的にはむしろわざとカードをゲットして 特定の相手をハメるとかやるくらいの方が面白いと思うんだよな。 勝ちにこだわるゲームというより盛り上がれば良いパーティゲー。

(15:08)

_ 名前

http://niha.tumblr.com/post/106249503

どうでもいいらしい。 圧倒的に重要な要素の一つだと思うけどな。 少なくとも、全体の設計が崩壊してるとか、 そもそもプロジェクトの方針が狂っているとか、 そいうマクロなレベルじゃなくて、 ミクロなレベルだと最重要級だと思うけど。

はてさて。

あまり思いつかないので、 名前で抑制できない種類のダメコードを考えてみる。 僕が見たことあるのを適当に思いだすに、 論外すぎるコードはまぁどうしようもないなぁ。

  • そもそもコンパイルが通らない
  • インデントが全く無いなどの常識外れなスタイル
  • アルゴリズムが論外

など。まぁこのへんは御愁傷様でしかないというか、 まぁこのレベルの人はアドバイスとか聞くような アレじゃないと思うのでどうしようもないんじゃないかと思う。 たぶん。 個人的な記憶だと C++ 書けると主張してるけど、 セミコロン無いというコンパイルエラーを 何度もわからんと言って聞いてくるとか。

対処について考えると、 まぁコンパイル通らないのは「きれいな」とかいう以前に 「コード」かどうかあやしいので良いとする。 スタイルはまぁ、統一していいんならちょっとスクリプト書いたりすれば それなりになんとかなると思う。 アルゴリズムが論外なのは、 まぁ生理的に不愉快な気持ちになるけど案外読めたりはするよなぁと思う。 案外問題なく動いたりもするし。

まぁ対処は元の話と関係なかった。

あとは、テスト全くない、理解が難しいところにコメントが無い、 なんかもキツめかなぁと思う。 このへんのレベルの人はアドバイスとかでなんとかなる、かなぁ? こいう部分とか名前重要とかは、コードレビューやってりゃ かなりの部分防止できるんじゃないかなぁと思う。

他になんかあるかなーと考えると、 まぁやっぱマクロな部分しか思いつかんかな。 大きいコンポーネントはまぁ複雑になっちゃうのはしょうがないし、 なんか名前重要みたいな一言である程度含蓄のある 一言みたいなのはあまりなさそうだな。 まぁ大きいコンポーネントをちゃんと作るとかでも ある程度名前重要だと思うけど。

(15:39)


2009-05-13

_ あるえー

http://cvs.m17n.org/~akr/diary/2009-05.html#a2009_05_13_1

なんでこれでできるのかなーと思ったら、 いつのまにか nil だったらその要素は落とす、 ってのが入ってたっぽい。それは良いように思うけど、 連続してる場合に区切るケースはなんか 状態の保持のしかたがマジカルな感じで、 イマイチ嬉しい感じがしないかなぁ…という。 あと連続しないと仮定してもフリップフロップした時点で負けた感じが少し。

(15:11)


2009-05-14

_ はてぶ

http://d.hatena.ne.jp/otsune/20090514/SocialbookmarkIsMicroblogging

「反論するコストが高い・面倒」ではない、 ってのはまぁ、そうかなぁと思う一方、 「はてブには反論できない!卑怯だ!!」 ってのはまぁなんかわからんでもないなぁと思う気がする。

で、なんでわからんでもないなぁと思うかを考えてみる。

なんか考えをまとめるのがめんどうになった。

  • はてぶへの反論をブログにわざわざ書くと「あの人はてぶの野次馬を真に受けて反論しているわクスクス」とか思われちゃうかも! とか思うとか、はあるかも。
  • はてぶは文字数が少ないので、結論だけ、あるいは論拠が飛躍気味な「批判」になっていることが多々ある、ということは僕も思う。まぁそもそも人間が文章を書く場所として文字数制限があるのは個人的な感覚では許せないな。 twitter/はてぶ撲滅委員会として
  • 一方短い空間で適切に褒めたり適切に批判してる人を見るとえらいなぁと思うな
  • 匿名性がブログに比べて高く感じる、というのはまぁあるんじゃないかと思う。理由としてはブログからリンクなりトラバが来たんなら、そのトラバ先を見れば批判した人がそういう人かわかる(つまり批判された人AさんがBさんから的外れな反論であると感じるような批判をされたのであれば、そのBさんのブログはAさんから見ればあまり筋のよくない意見などがたくさん書いてある可能性が高く、Aさんは「Bさんのブログを見て良識のある人が俺への批判を真に受ける人はあまりいないだろう」的に安心することができる)のに対して、はてぶはページ単位で集まってて、特定の人のブックマークのページも、全くコメントの無いページに紛れてたりして、批判者Bさんの人となりがわかりにくくて、どういう立場の人が反論したかわかりにくい、というようなそういうようなこういう話はあるような気はする。

1つ目と4つ目はありそうだなと理解はできるけど、 個人的には思ってないな。 それがなんでかというと、 考えるのがめんどくさい

でまぁ、4つ目のようなのを考えると、 相手がどういう人か入念に調べてから反論したい派の人 (というのがいるのかは知らんが)は コストが高いと考える可能性はある、かな。 まぁ「相手がどういう人か入念に調べてから反論したい派」 というのが実在するのかもよくわかってないのでどうでもいい。 まぁでもなんかいそう。

(15:47)

_ いろいろと

TODO は比較的減ったとおもう。

  • TCC は -run をリファクタリングした方がいいだろうねえ…
  • TCC は他にもなんかあったと思う。忘れたけど。
  • bfx は忘れてた
  • ada は忘れてた
  • grub は諦めようかなぁ。コードだけ整理しときたいが
  • kevil がなんかおかしい件
  • thread fest のコードはまだ読んでない
  • ゴルフ場の Brainfuck …というかなんか色々問題があったような
  • 四国もラードもそれぞれなんかおかしいが、もはやデバッグ不能である
  • まぁ↑はどうでもよくて、 GCC とたわむれたい
  • あと cell

最近は

  • glog/gflags での mutex 。理由の仮説があってるとするとかなり感動なんだけど
  • CSS3 すごいことになってるね
  • ヨセミテ行った
  • カメラと GPS で遊んだのでなんか合体させる方法を調べる
  • 日本に帰れる

なにかあまり減っていないな

(16:03)

_ カジノ

そういえばだいぶ前にカジノに行った。

ショートスタックで入るとあまり面白くないなぁという感じだった。 全体的にヘボプレイだったけど、えらい固くプレイしたら 運が良かった時が何回かあって$70増えた。

(16:08)


2009-05-16

_ 日本!

GCC いじりは思ったより速くできてしまって、 飛行機の中は暇だったので映画とか見てた。

タイタニック: 面白くなさすぎて面白いレベル。この内容でなぜ主人公がヒロインの命の恩人なのかなど、全体的にまぁひどかった。

博士の愛した数式: 小説の雰囲気がぶち壊されていると感じた。

荒野の用心棒: まぁなんか面白かった。後半に入る前になんで主人公はみすみすボコられに行ったのか…というのが謎ではあった。

24: まぁまぁ面白い感じで進んでいた。

で、 GCC いじりをした結果は作ったバイナリが SEGV してたのでがくり

(00:18)

_ 6x6ひらがな

これはナイス。今度使いたいな

(06:38)

_ SEGV

ぎぎぎ。メモ。

 44f283:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%rsp)
 44f28a:       00
 44f28b:       48 8b 44 24 08          mov    0x8(%rsp),%rax
 44f290:       48 83 c4 18             add    $0x18,%rsp
 44f294:       c3                      retq

あまり簡単ではないなぁ。

(13:34)

_ SEGV

一瞬でなおった。 僕は GCC の inline アセンブラを覚えては忘れる人生だ

(13:54)


2009-05-17

_ GC あそび

#GC::Profiler.enable
a = Array.new(1000000){'a'};
puts 'array nilled';
a = nil;
#a.clear
GC.start;
count = 0;
ObjectSpace.each_object{count += 1};
IO.popen('free'){|p| puts count, p.read}
#GC::Profiler.report

via http://redmine.ruby-lang.org/issues/show/649#note-8

i@uco ~/src/ruby-1.9.1-p0> ./miniruby_orig leak2.rb
array nilled
1628
             total       used       free     shared    buffers     cached
Mem:        516296     446072      70224          0      10128     262248
-/+ buffers/cache:     173696     342600
Swap:            0          0          0
i@uco ~/src/ruby-1.9.1-p0> ./miniruby_new leak2.rb
array nilled
1627
             total       used       free     shared    buffers     cached
Mem:        516296     446336      69960          0      10144     262248
-/+ buffers/cache:     173944     342352
Swap:            0          0          0

1000000 の方は普通に漏れてないし。 でもなんか 1 object 減ってるなぁと調べてみると 'array niled' って文字列の方だった。

そして x86-64 だとむしろ miniruby_new で 1000000 オブジェクトの方が漏れるぞ論外だ… まぁ x86-64 でだめなのはまぁありそうな話だけど。

もちょいたくさんベンチできるテストケースが欲しいなぁ。

(08:02)

_ kik code in hack the cell

even 957 命令。

a 65
ai 1
and 33
cntb 160
sumb 80
ori 8
selb 165
xor 440
nop 5

odd 882 命令。

rotqbyi 70
stqr 160
lqr 167
hbrr 1
brnz 1
rotqbii 198
lnop 28
shufb 40
stqd 71
lqd 86
shlqbii 60

で結果は、 126.628 倍。

ORIGNAL:         sum=3c927c56, 292970508 ticks
MINE:            sum=3c927c56, 2313630 ticks

うーんこれは狂ってるなー。 よくこれで優勝したなぁ。 コンパイラが吐いてるコードをちらちら見ると どう見ても最適とは言いがたい。

まぁそれより even/odd のバランスが悪いし nop も残ってるし。 even 957 命令に律速されてるとすると、 nop/lnop 削って even/odd にバランス良く振るだけで 903命令134倍とかになる。 まぁそこまで理想的にいかんとしても、 どう見ても不要な命令の削除だの、 レジスタに状態を置くだのすればもっといくわけで、 少なくとも 135 くらいは行けてたんじゃないかなぁ。

kodera さんの方は、二重ループになってて計算しずらいので、 結果から逆算すると、 1007.6 命令らしい。

120.705 倍。てか ORIGINAL の方も変わるのね。

ORIGNAL:         sum=3c927c56, 294032967 ticks
MINE:            sum=3c927c56, 2435961 ticks

僕は 1270 命令らしい。

http://shinh.skr.jp/m/?date=20090307#p08

ORIGNAL:         sum=3c927c56, 293506387 ticks
MINE:            sum=3c927c56, 2973408 ticks

(10:18)

_ colordiff

http://codereview.chromium.org/99143/diff/8054/7059

http://twitter.com/niha28/status/1818969913

この diff が欲しいですよねえという

(10:27)

_ もってけセーラーふく

http://hujita.sakura.ne.jp/log/eid225.html

何度も聞いたのに歌詞がさっぱりわからんと思ってたら、 そうとう意味不明な歌詞だったんだなぁ。

(12:32)

_ じゃあ

http://twitter.com/niha28/status/1824531243

作ってください。明日までに。はやく!

(17:49)

_ やっぱ

いいや。なんかほとんど完成してるのが何故か手元にあったのでちょっといじれば動きそうだ…

(18:09)


2009-05-18

_ 130.145倍

適当に kik さんのコードを GCC にコンパイルさせた結果を 僕のアセンブリ再配置マッシーンにかけてみたら遅くなった。 まぁ GCC は意図があってというか 命令の配置と協調してレジスタ配置してるわけで、 レジスタ配置を固定して命令配置いじっても速くはならんわなぁ…と。

で GCC の吐いたコードを仮想レジスタ作って SSA にしてみて (レジスタ1000個くらい必要だった)、 それを適当なヒューリスティックスで 実際のレジスタ割付しながら命令を配置していくものを書いてみたら、 レジスタ250本くらい必要だった上にさらに遅くなった。

GCC は偉いなぁと思うと同時に、 問題のドメインを理解してる人間による レジスタ配置は最強だなぁと思った。

じゃあ表題の倍率は何かというと、 volatile つけたら速くなった ⊂( '-')⊃

--- mt_mine_orig.c	2009-05-18 06:49:16.000000000 +0900
+++ mt_mine.c	2009-05-18 06:55:06.000000000 +0900
@@ -86,6 +86,7 @@
 }
 
 typedef vector unsigned long vul;
+typedef volatile vector unsigned long vvul;
 typedef vector unsigned char vub;
 
 static vul mt_bs[32][5] __attribute__((aligned(16)));
@@ -166,39 +167,39 @@
   };
   vul sum = {0, 0, 0, 0};
 
-      vul s0_0 = mt_bs[0][3];
-      vul s0_1 = mt_bs[1][3];
-      vul s0_2 = mt_bs[2][3];
-      vul s0_3 = mt_bs[3][3];
-      vul s0_4 = mt_bs[4][3];
-      vul s0_5 = mt_bs[5][3];
-      vul s0_6 = mt_bs[6][3];
-      vul s0_7 = mt_bs[7][3];
-      vul s0_8 = mt_bs[8][3];
-      vul s0_9 = mt_bs[9][3];
-      vul s0_10 = mt_bs[10][3];
-      vul s0_11 = mt_bs[11][3];
-      vul s0_12 = mt_bs[12][3];
-      vul s0_13 = mt_bs[13][3];
-      vul s0_14 = mt_bs[14][3];
-      vul s0_15 = mt_bs[15][3];
-      vul s0_16 = mt_bs[16][3];
-      vul s0_17 = mt_bs[17][3];
-      vul s0_18 = mt_bs[18][3];
-      vul s0_19 = mt_bs[19][3];
-      vul s0_20 = mt_bs[20][3];
-      vul s0_21 = mt_bs[21][3];
-      vul s0_22 = mt_bs[22][3];
-      vul s0_23 = mt_bs[23][3];
-      vul s0_24 = mt_bs[24][3];
-      vul s0_25 = mt_bs[25][3];
-      vul s0_26 = mt_bs[26][3];
-      vul s0_27 = mt_bs[27][3];
-      vul s0_28 = mt_bs[28][3];
-      vul s0_29 = mt_bs[29][3];
-      vul s0_30 = mt_bs[30][3];
-      vul s0_31 = mt_bs[31][3];
-      vul t0_0 = mt_bs[0][4];
+      vvul s0_0 = mt_bs[0][3];
+      vvul s0_1 = mt_bs[1][3];
+      vvul s0_2 = mt_bs[2][3];
+      vvul s0_3 = mt_bs[3][3];
+      vvul s0_4 = mt_bs[4][3];
+      vvul s0_5 = mt_bs[5][3];
+      vvul s0_6 = mt_bs[6][3];
+      vvul s0_7 = mt_bs[7][3];
+      vvul s0_8 = mt_bs[8][3];
+      vvul s0_9 = mt_bs[9][3];
+      vvul s0_10 = mt_bs[10][3];
+      vvul s0_11 = mt_bs[11][3];
+      vvul s0_12 = mt_bs[12][3];
+      vvul s0_13 = mt_bs[13][3];
+      vvul s0_14 = mt_bs[14][3];
+      vvul s0_15 = mt_bs[15][3];
+      vvul s0_16 = mt_bs[16][3];
+      vvul s0_17 = mt_bs[17][3];
+      vvul s0_18 = mt_bs[18][3];
+      vvul s0_19 = mt_bs[19][3];
+      vvul s0_20 = mt_bs[20][3];
+      vvul s0_21 = mt_bs[21][3];
+      vvul s0_22 = mt_bs[22][3];
+      vvul s0_23 = mt_bs[23][3];
+      vvul s0_24 = mt_bs[24][3];
+      vvul s0_25 = mt_bs[25][3];
+      vvul s0_26 = mt_bs[26][3];
+      vvul s0_27 = mt_bs[27][3];
+      vvul s0_28 = mt_bs[28][3];
+      vvul s0_29 = mt_bs[29][3];
+      vvul s0_30 = mt_bs[30][3];
+      vvul s0_31 = mt_bs[31][3];
+      vvul t0_0 = mt_bs[0][4];
       vul t0_1 = mt_bs[1][4];
       vul t0_2 = mt_bs[2][4];
       vul t0_3 = mt_bs[3][4];

(07:01)

_ ルーウェリン反応

http://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%82%A6%E3%82%A7%E3%83%AA%E3%83%B3%E5%8F%8D%E5%BF%9C

プログラム書いてる子は自然言語処理系のもの書くのが 難しいことを知ってるからあまりその手のものを バカにしたりはしないんじゃないかと思う。 でもコンパイラが難しいことを知ってるのに GCC をバカだと言ってしまうのは。 レジスタ配置で負けたので反省しないといけない

(07:06)

本日のツッコミ(全3件) [ツッコミを入れる]

_ kik [volatileすげー。コンテスト中はそんな発想は全くなかったからなあ… VHDLみたいだといわれたコードがこんなと..]

_ shinh [そういえばコード生成のスクリプトとかっていただけませんでしょうか。それいじって asm 吐くように頑張れば限界が見れ..]

_ kik [http://as305.dyndns.org/~kik/public/htc-gen.tgz これだと思う。自信な..]


2009-05-21

_ ストレートフラッシュ

そういえば昨日人生初ストレートフラッシュができた。 あまりにひどい作りかただった。

ターンで Kh Qh Js なんか とか出てて、 9h 持ってたので 10h 出たらストレートかぁとか思いつつ、 昨日は何故かダメプレイをすると決めていた日だったので、 なんとなく軽いレイズについていった。 引けなくても降ろせばいいか! とか考えてたと思う。

で、リバーで Th が出て、あぁストレートできたなぁと思ったけど 60レイズされて(500スタートでやってる) 相手が A のストレートだと勝てないとかぼんやり思った。 で、ああこれハート3枚あるなぁフラッシュにも殺されうるのかぁと思った。 なんか手を見てみると、 Jh 9h だったので、 ああ俺フラッシュできてるじゃんこれは負けないなぁと思って、 直後にこれストレートフラッシュじゃね? と気付いて なんか叫んでうろたえた。

ひとしきりうろたえた後に何していいかわからんけど ナッツなのでコールする意味はないとくらいは気付いて、 適当に200リレイズしたら降りてしまった。 もうちょっと弱気レイズすれば良かったんだろうけど、 まぁストレートフラッシュできたのが嬉しかったのでどうでも良かった。

てか J ヒットしてることすら気付いてなかったとかどういうことかという。

(10:59)


2009-05-29

_ タイ

タイに行ってきた。記録とか取りながら移動してみたので、色々書いてみようと思う。

まず行こうと思った理由はマイルがあったからという感じだった。20000マイルはMTVに2回飛ばされればたまる感じで、それでタイに行けるのだから良い話ではある。サーチャージがかかるので数千円はかかったと思う。ただ、マイルで行ける便は時間的に不都合な感じだった。行きは夕方発で深夜着、帰りは早朝発で、ちょっとしんどかった。まぁタダなんだから良いじゃないという感じではあるが。

深夜着は不安なので初日のホテルだけは取っておいた。3000円くらいだったと思う。後で思うに全く必要ない準備だった。何時だろうが適当に地球の歩き方に載ってるホテルに行っとけば問題ないかんじ。

行く前の週にタイフェス行った。予行練習。行く前日にタイ料理屋で飯喰った。さらに予行練習。当日、ローレイヤー勉強会にタイに行く鞄と共に行く。その前に渋谷で両替。銀行で 3.22 円 1B というレートを見てから金券ショップへ。金券ショップはなぜか 3.24 円とかで銀行より高いので結局銀行で 10000B ゲット。売る時は 2.22円 1B とからしく、萬田銀次郎もびっくりな詐欺だと思った。結局レートは成田も一緒だったのでどうでもよかった。

久々の神保町だったのでその前にメーヤウでレッドカレー喰った。さらに予行練習。メーヤウはなんか全然雰囲気変わっていた。味もなんかこんなんだっけという感じだった。まぁチキンとカントリーばかり喰ってたのでレッドの味とかあんま覚えてないだけかも。

装備は MTV に行く荷物から服を減らしてノートPCとバッテリとHHKを抜いて、タオルを入れた感じ。たまにはプログラムを書かない生活というのもいいんじゃないかとか思ったらしい。あとアンドロイドの GPS をフル稼働させると一日持たないのは知っていたので、前もって買っておいたエネループとUSB in/outできる充電器も入れておいた。カメラの電池にもなるし、これはすごく良かった。

22:50 バンコクの空港着。 TAXI で 200B 。なんかもちょい安かったと思うけど、細かい数字は無視して払ってた。基本どうせ安いし、現金はもりもり使う方針で。ホテルについたので寝た。後で思うにもっと安い宿で内容は同程度だった。

ホテルで TAXI 呼んでファブリー駅かなんかに。 170B 。

10:20 。なんかそのあたりに観光案内とかあるはずなんだけど、見つからなかったのでもういいやと地下鉄で移動。地下鉄は新しいだけあって異様に綺麗。 29B でファランポーン駅かなんかに。これがバンコクでは割とメインチックな駅らしい。

11:00。 深く考えず近所を散策。なんかどう考えても地元の人向けの屋台で飯。 25B でグリーンカレー。地元の人向けだけあって安いけど安っぽい。まぁでもおいしい。

12:00 。暑かったのでコーヒー屋で計画を立てる。コーヒー 50B 。飯の倍の値段するとかすごい話です。まぁ涼めるのがでかい。あとタイのアイスコーヒーはやたら砂糖入ってて別の飲み物感があった。まぁ暑くて疲れてると冷たくて甘ったるいコーヒーはうまい。

12:30 。近くに地球の歩き方に載ってる寺ワットトライミットがあったので行ってみた。なんかまさに今作ってる最中です感があって、工事しまくりだった。面白いなーと思った。

さらにそこらをフラフラしてるとなんか寺があったので見てみる。まぁ寺だった。つってもタイの寺は日本のとだいぶイメージが違って、日光とかみたいな派手な感じばかり。

近くにトゥクトゥクという三輪車バイクみたいなのがいたので捕獲して移動してもらう。ワットポーというのに行ってくれと言う。値段いくら払うと聞かれたので 50B でどうよと言ったらそれでいいけど服屋寄ろうぜと言われる。まぁどうせ目的も無いしと OK する。

トゥクトゥクの人はやたらフレンドリー。で英語が比較的通じる。で、服屋。なんか日本と変わらんくらいの値段でスーツが売ってる。いらんので出る。トゥクトゥクの人は旅行屋行こうぜと言う。ガソリンがどうこういう理由で旅行屋で君が何か買ってくれなくてもいいんだとかよくわからんことを言っている。よくわからんが、まぁ暇だしいいよと行く。

旅行屋はなんか高そうなツアー(4900Bで3日程度アユタヤともう一箇所行くらしい)を勧めてきた。まぁツアーとかどうでもいいんだ切符とかだけ買えない?と聞くけどそいうのはやってないと言われた。

フレンドリーだったトゥクトゥクの人が豹変して不機嫌になった。マージンでもうけてるんだろうなぁと思った。でもワットポーには行ってくれた。なんかかわいそうだったので 60B にして余計に払っておいた。後で考えるに TAXI でも同じくらいの値段なので、わかってしまえば時間の無駄、涼しくない、排気ガス吸いまくり、交渉が必要、ということでトゥクトゥクに全くメリットはない。

14:00 。ワットポー。拝観料 50B 取るだけあって今までの寺より面白い。でかい大仏が寝てるけど、寝てるというよりドロップキックという感じだった。

いい服着てないといけないらしいけど、近いし王宮行ってみるかなーとふらついてると、トゥクトゥクがまた声をかけてくる。 20B でこの寺とこの寺に行ってやると言ってくる。代わりに服屋にも寄ろうと。また服屋かと思いつつ俺王宮行きたいんだけどと言うとその服では入れるわけない服屋に行こうと言ってくる。服屋で安っぽいワイシャツとか買うのはまぁいいかなぁどうせ目的もないしまだまだ日数はあるしと OK 。ただそろそろ宿探しもするかなぁと思っていたので、宿が大量にあるというカオサン通りまで最後に連れてけ、と言う。 OK とのこと。

トゥクトゥクの人はやたらフレンドリー。あそこは何々だとか言いつつ二つ寺を回る。まぁそれなり。今思うにすごくいい寺とか回ると見てるのを待ってる時間がかかるからしょぼめのところ回ってたんだろうね。で服屋。オーダーメイドがどうこう言ってるが、安っぽいオーダーメイド以外はあるのかと聞く。無いとのこと。話にならん。

フレンドリーなトゥクトゥクの人はさっきの服屋は小さいかもっと大きいところに行こうと言う。まぁ 20B で寺 2 つ行ってくれたのはありがたいしそんくらいは付き合うかと OK 。行ったけどまた話にならんのでさっさと出る。

フレンドリーなトゥクトゥクの人はまたガソリンがどうこう言って、論理はよくわからんが土産物屋に行こうと言う。たぶん俺何も買わんよと言っても、行ってくれるだけでいい、10分は見てまわってくれとか言われる。よくわからんがまぁいいよと OK 。

土産物屋はいきなりジュエリー屋だった。いよいよ本気でいらんがな。ジュエリー屋をさっさと出ると隣の土産物屋にも行けとのこと。行く。まぁ最終日だったらなんか買ってもいいんだけどねえ荷物増やしたくねえしと眺めてから何も買わず脱出。

またしてもフレンドリーだったトゥクトゥクの人が豹変して不機嫌になった。でもカオサン通りまで運んでくれた。さすがに大の大人を 2時間拘束して 100 円以下というのはどうなのよ一応目的地には来てくれたし、と 40B 払う。依然として彼にとって嬉しい儲けではないだろうし、なんかお互い不幸だし店のマージン目当てぽいトゥクトゥクは無視しようと決めた。

うろうろしてて思ったのは、寺がそこらじゅうにあるのと、国王の写真がそこらじゅうにあるなぁということだった。国王はかなり崇拝されてるみたいだった。実際良い政治をした人が何人かいるみたいだね。

17:00 。宿は地球の歩き方に中級と書いてあった D&D inn とかいうホテルの安い部屋を取る。 500B 。後で考えるに中級ホテルの安い部屋、ってのが一番正解だったと思う。シャワーとエアコンあればそれでいいしな。フロントの兄ちゃんと雑談すると日本から来たんならダリモン知ってるかとかそんな感じのことを聞かれる。何だろうなぁと何度も聞き返すにドラエモンだった。知ってると言ったら大好きだと言っていた。日本でも有名かと聞かれたので死ぬほど有名だと答えた。あとお前はのび太に似ていると言われた。それは結構失礼な指摘なんだよと教えてあげようと思ったけどかわいそうだしやめた。

17:30 。ネットがあるみたいなので使ってみる。遅いけど使える。 30B 1時間とかタダみたいなもんだなぁと思う。

18:30 。昼は安っぽかったので近くで高級めなタイ料理でも喰ってみるかな、とネットでちょっと高級感チックと紹介されてたところに行ってトムヤンクンとビール。うまかった。 270B 。でも一人だと色々な種類を喰ったりがしにくいのは残念だなぁと思った。トムヤンクンという料理の名前を知ってるにもかかわらず、それをメニューから探すのは大変だった。というのは、現地の言葉と意味的に翻訳した英語日本語で書いてあるから。なんか「エビの入った辛いスープ」とか書いてあるわけだね。

19:00 。近くを散策。観光客多すぎ。西洋人に支配されている。そして騒いでいる。ふらふらしてるうちに迷う。アンドロイドの GPS を見るに、予想と全然違う場所にいてさすが俺だなぁと思う。まぁアンドロイドを頼りに帰着。アンドロイドはネットつながってないから地図が見れないけど、ヘンデルとグレーテルのパンくず程度の役には立つしすごい便利だなぁと思った。適当に果物を買ってみようと屋台でマンゴスチンと米にココナッツミルクをかけたよくわからんものを買ってくってみる。まぁおいしいのだけど、ドリアンの味わい。ありていに言うとこれ腐りかけだろうと。

20:00 。部屋でどうしようかなぁと考える。寝るかなぁと思ったけど、とりあえずうっさいしもうちょいなんかしようと考える。そういえばマッサージというのがあるらしい。リア充として行くかと行った。 300B 。なんかマッサージはまぁ普通。かかってる曲が昭和ミュージックな感じで良かった。全体的に30年前くらいの日本てこんな感じなんじゃないかなぁ的なことが多かったように思う。

後で思い出して、さらにもう一度聞く機会があって、一曲これ欲しいなぁというのがあったのだけど、曲名とかさっぱりわからんしメロディだけで買うのは困難だなぁという感じだった。なんとかならんもんかね。

で、寝た。結局西洋人は4時くらいまでは騒いでたと思う。このホテルはいいんだけどうっさいから次はやめとこうと思った。5時くらいからは今度はタイ人が音楽をならしはじめてうっさかった。まぁうっさくても寝れるのは得です。

7:00 朝飯。まぁ普通。タイっぽいものは少しだけ。

7:30 に移動開始。アユタヤに行くことにしていた。できればピマーイというのも行きたいなぁと漠然と思っていたので、早めに移動してアユタヤを高速巡回して、ピマーイの近くの街まで夜のうちに移動しておけるといいなぁと思っていた。

8:00 にファランポーン駅到着。適当にアユタヤって言うと 245B と言われた。 1-3 等まであるうちの 2等だった。地球の歩き方には 2等 50B と書いてあるけどなぁと思ったけど、まぁどうでもいいのでどうでも良いことにした。

電車の中で待機。誰もいないなあすごいなあと思いつつ本を読む。時間になっても出発しないなあすごいなあと思いつつぼんやり。すると衝突音がして、先頭に移動可能な車両がくっついたらしい。へえそうやって移動するのねーと思ってるとちょっと移動。でも止まる。もう一度衝突音がして、何が起きてるのかなぁとぼんやり。ぼんやりしてるとエアコンも動いてないしおかしいなぁと見てみると、先頭にくっついたはずの移動可能部分が無い。これじゃ進めないなぁと思ってしゃーないので車両から脱出。線路上を歩いて移動するのはこわいなあと思いつつ駅に歩いて帰る。どうも車両置き場っぽいところに移動しただけっぽい。

10:00 。よーわからんけど俺の電車はどこへ! と騒いだ。たらい回しにされた後に、半額払えと言われる。なんでやねん俺はちゃんとしたところにいた(つもり)だ! とか言う。基本こっちの英語半分程度しか通じてないので色々大変だと思いつつ喋っていると、またたらい回し。今度は全額もう一度払えと言われる。それはなんかイヤだと騒いでてもラチがあかないので、金は払うから今度は同じ間違いをしたくないので、正しい電車を教えてとか言ってると、通じない。しばらく喋ってると、お前金もいらんしこれやるからどっか行けとばかりに 3等チケットを渡されて電車に乗せられる。まぁエアコンなくてもいいや正直着くのならなんでもいいやと乗る。なんか 3等は 15B らしい。 50円で 50km 移動できるとかすごい話だなーと思う。なんか3等は地球の歩き方情報より安いけど、まぁ現地人用のを安くして、観光用のを高くするのは正しいと思う。

で適当な席に座ってると日本人ですかと日本の人に日本語で声をかけられる。なんか色々教えてもらいつつアユタヤ着。

11:30 。トゥクトゥクとかはめどそうだし、自転車で移動というのが良さそうだ! ということで自転車を駅前で借りる。 40B で一日借りれるらしい。自転車ごと渡船に乗って、メインらしい島に移動。船は 2B かなんかで、自転車つきだと 6B になるのだけど、島に移動してからも自転車は借りれるので俺は負け組だと思った。まぁなんにせよ 20 円とかそいうオーダーの話なのでどうでも良い。

自転車で適当に巡回。とりあえずワットラーチャプラナ。 50B 。なんかピラミッドの中を体験! みたいな感じの空間に入れて面白かった。えらい狭いけど。

隣のワットプラーマハタート。 50B 。首の無い仏像がありまくる。基本、アユタヤは侵攻された時に荒らされまくっていて、仏像は片っ端から頭が取られているらしい。かわいそう。でも頭の無い仏像がそこらじゅうにあるのは面白い。荒らされた後に世界遺産になってるってのも面白い話だと思う。ここは取られた頭が木に埋まっているのが有名らしい。確かに埋まっていた。

地球の歩き方によると池としか書いてないところに道があるのでそこを走ってみる。とてもいい空間だった。自然が自然自然してて自然だった。

地球の歩き方に紹介もされてないクンペンレジデンスとかいう場所に結構人がいるので行ってみた。なんか仏像を復元しているらしい。復元済だった。でかかった。復元前の写真とかもあって面白かった。特に拝観料取られなかったので頑張って復元しておくれと 20B 寄付した。なんか気分が向いたら寺院の寄付箱に入れてたんだけど、この程度のお金でちょっといいことした気分になれるのは幸せではある。

なんかタイは寺院にはやたら金かけられるんだなぁと思った。そこらじゅうに寺院があるにも関わらず、そこらじゅうで寺院を作ってるし。国民はみんな信心深くて、例えばタクシーの運ちゃんが寺院を見ると両手をあわせて拝んだりする。しかしそれはかなり危険な運転だ。

隣にワットプラーシーサンペットとかいう寺があるので行く。 50B 。アユタヤの象徴的な感じらしいのだけど、大きいだけでそんなに面白くはなかった。全体的にアユタヤはワンダと巨像ぽい場所が多かった。14番目の巨像が出てきそう。

象さんに乗れるらしいので乗る。 400B 。象さんはかわいかった。でもすごい揺れた。象さんでこんだけ揺れるんじゃガンダムとか絶対乗れないなあと思った。

観光センターが近くにあるので行く。誰もいない。みんな使ってあげようよと思いつつ話をする。かなり不自由だけど通じる日本語と、ほぼ喋れない英語という感じの人だった。不自由な日本語を聞くと発作的に英語で受け答えしてしまう癖がついているので、申し訳ない感じだった。ナコーンラチャーシマに行きたいんだけど、バスどこから乗ればいい?という話をすると、自転車で行けと言われた。 200km はあるはずなのでそれは無理だと話をするに、どうも電車のことを自転車と言っているようだった。それは電車のことですよーと教えつつ、まぁ電車で行くかぁと決める。

ここで地図をもらった。なんか今回は色々まわった後に最後に地図をもらうことばかりだった。ゼルダの伝説でそいうことがよくあったなぁと思う。ただなんかこっちの地図は残念なできのものが多い。 Legend に書いてある記号が一度も使われてないとか、そういうのが平然とある。

ふらふら自転車でアユタヤを移動。ちょっと観光ゾーンを外れると普通に生活してる感じの屋台とかを見てまわる。あまりおいしそうなものが無い上に昼を大幅に過ぎてしまうと屋台は終わってる感じの場所が多いことを学んだ。

暑いので MK レストランとかいう中華ぽいところで喰う。普通に中華ぽい麺が出てきたけど、なんかアジアだから似たようなもんだなぁという感じだった。タイの店にはどこにでもある、ナンプラーとチリと酢と砂糖の4点セットも置いてあったので、かけてみると、普通にタイっぽい味になった。この4つかければアジアの喰いものはなんでもタイ料理になるんじゃないかなとか思った。この4つをかけることを台無しにすると呼ぼうと思う。

もうちょっと回っても良さそうな場所もあるけど、まぁ疲れてきたしいいか、と自転車を返却して駅でナコーンラチャーシマまでの切符を買う。3等80Bとか。300円足らずで200kmを行ってくれるのか…

16:00 。電車待ち。不安。バンコクの駅では乗り間違えだかなんだかで乗れなかったので、正しいのに乗れる気がしない。駅員にあれかあれかと何度か聞いてると、うっとうしそうにしながらも正しいのを教えてくれた。英語があまり得意でない人に話しかけるのがかわいそうなことは、英語できない身としてはよくわかるので、申し訳ない感じだった。あちこちでこの申し訳ない感じはあった。ありがとうごめんなさい。

17:00 。電車。超不安。まず駅の看板が読めないところにある駅が結構あるし、読めたとしてもそもそも駅のリストとか持ってないのでどのくらい進んだかわからない。寝たらこれ絶対乗り過すしなぁ…と思いつつ、アンドロイドの表示してる距離を頼りに、着く時間の目算をつけまくる。唯一助かるのは駅の名前はタイ語に加えてたいてい英語で読みあてたものが書いてあることだった。そのおかげで発音はだいたい見当がつく。

近くに欧米人がいたので少し話した。アメリカから来て1ヶ月単位の旅行をしてるとかなんとか。 Chrome 使ってるZE! middle click の挙動おかしいから直せとかなんとか。しかし彼も途中で無事に降りてしまった。

電車の中は常に物売りが往復している。屋台が出張してるような感じ。途中肉饅みたいなものを買ってみる。すごいしょぼい肉饅あん饅セットだった。 10B だったみたいだけど、 20B 払ったらお釣りくれなかった。まぁいいかと思った。けど近くのタイ人にヘンな顔で見られた。

まぁナコーンラチャーシマは日本で言うと仙台、タイと日本の規模の差を考えると青森くらいの駅ではあるという考えから、あからさまに小さい駅見過ごしてしまう駅ではないだろう…と期待しつつ待ってると、それっぽいのに着いたので降りた。あってた。良かった。電車は不安すぎるので帰りはバスにしたいなあと思った。

22:00 。ホテルまで歩く。ちょっと遠かったけどまぁあった。良かった。 550B 。このホテルが一番良かったなぁという感じだった。ただ田舎だけあってバンコク以上に英語がほぼ通じない。

22:30 。屋台とか終わってる感じなので、近くのセブンイレブンでなんか買う。そういえば挽肉を米に乗せたものを喰っていないと思ったのでそれとビールを買って喰う。コンビニに普通に冷凍タイ料理とか置いてある。まあ普通においしかった。いわゆるシンハは高級な部類のビールなんだなぁとそれより安いのを2種類買ってみた。正直違いはよくわからんかった。全部一番搾り系の味だと思う。

8:00 。朝飯。タイではおかゆが朝飯らしいのだけど、おかゆがあったので食べる。おいしい。途中から台無しにして喰う。おいしい。

8:30 。洗濯を頼む。 laundry サービスがあるにも関わらず通じない。身振りで服を脱いでぐるぐる回すジェスチャーで通じた。

9:00 。なんかこの街には英雄像があってそれくらいしか名物が無いらしい。見に行くと学生ぽいのが結構な人数でなんか儀式ぽいことをしている。しかし像は英雄性を知らないとまぁなんてこともない像なのであった。

10:00 。ふらふら。情報収集をしに駅に。バスの乗り方がわからなかった場合、電車でピマーイに行かないといけないし、電車でバンコクに帰らないといけないかもしれない。 Tourist Information というのがあったので話しかけてみる。全く英語が通じない。 yes/no が通じないレベル。 Information として全く機能してないぞと思うと同時に面倒なヤツだろうなぁごめんなさいと思う。ピマーイはチケットを買って電車で行けと言われた。バンコクへの終電の時間を聞いてるのだけど、チケットを買って電車で行けと言われた。要は情報が得られなかった。

次に近くのバス乗り場に行ってみる。なんかバンコク行きのバスぽいのがあるので、最悪ここに来れば帰れそうだと目星がつく。ピマーイ行きはあるかと聞くと無いという。他のバス停ですかーというような会話というか地図への指差し活動を頑張ったところ、少し遠くのバス停に行けば良さそうだとわかった。

全て解決したーと思いつつフラフラしてると服屋があったので T シャツとタイ人がよく着ている袖つきシャツを買う。これでバンコクの王宮に入れるフラグが立ったと思った。なんかそこの人は若い店員で、結構英語が喋れる感じで、少し話した。サッカーのナカムラがどうとか。知らんけどサッカーは好きだよとかなんとか。事実としては15年前は好きだったよ、の間違いだが。若い人は英語が喋れることが結構あって、でかつそういう人はたいていフレンドリーだった。タイ語ができれば他の人もフレンドリーなんだろうなぁと思うと、わけわからん言葉で話しかけて緊張させて申し訳ないなぁと。感じとしては西洋人が日本の駄菓子屋に突撃するような感じだと思う。

英語が割とできる系の人の英語を聞いてると思うのが、文法崩壊してても結構通じるもんだなぁということだった。こっちの人は助動詞とか全く使わないのか、 where you go? とか where you from? とかよく聞かれる。タイ語は過去形無いらしいけど、そのへんの関係か英語でも過去形とか全く使ってないように思った。一方発音が崩壊してる場合はかなりつらい。タクシーの運ちゃんにアイエ?とか聞かれて、なんのこっちゃとしばらく聞き直してるうちにハイウェイだと理解できたり、とか。チャイナがシャイナとか、まぁたぶんタイ語で使わない音があるんだろうなぁと推測。日本人が r 苦手なのとかも英語圏の人からすればそいう感じなのだろうたぶん。

タイ語の印象としては、女性が使うとかわいいなぁと思った。女性がありがとうを言うと「こーぷぅんかー」とかで、やたらかわいい。萌えキャラになれる。男性が使うとこわい。「あァん?」みたいな感じでなんか言われることが多くて、それがなんか pardon 的なシーンとか「〜でしょ?」みたいなシーンで使われてるようだった。ケンカを売ってるとかしか思えないのだけど。読み書きの方は、とても大変そうだった。なんか母音と子音があるわけだけど、一部の母音は子音を中に挟むとかそういう組み合わせ系の文字があるんだよな。イントネーションによって文字が変わるとかもえげつない。

ふらふらしてる感じでは、言葉はバンコクより通じないけど、バンコクより観光観光してないというか、普通の街ぽくて、素朴な感じでこっちの方がはるかに好みだった。バンコクはイメージとしてえは台湾にツアー旅行で行った時の印象に近い感じだったように思う。商人商人してる人が結構いるというか。

そういえばふらふらしてる最中になんか事件かなんかの説明と写真が色々あった。2週間くらい前に起きた事件ぽくて、人が半分にちょんぎれてる写真とかがあって色々衝撃的なのだけど、タイ語でしか説明が無いので何が起きたのかはさっぱりわからなかった。なにか事故があったのかなぁ…

11:00 。ホテルに一旦もどって、シャワー浴びて洗濯終わったー?と聞く。まだっぽいのでネットして待つ。終わったぽいので出発。

12:00 。もう一個のバス停は遠いので適当にタクシーつかまえるかーと思ってたら人力トゥクトゥクがいたのでそれに乗せてもらうことに。頑張って自転車こいでもらって申し訳ないなぁと思う。 25B 。大目に払おうと思ってたけど大目に払うと 100B とかになる小銭状態なので無理だった。

12:30 。バスは観光というよりは地元の人の移動手段だった。 50B 。いくつかの停留所を回りつつピマーイに行くのだけど、停留所の近くで屋台をやってる人が中に入ってきて物を売って出発前に出ていく。面白い文化だよなぁ。なんかおかしぽいものを買う。パンケーキにココナッツをはさんだような甘い物体。まぁまぁおいしいのだと思うけど、甘いものが好きでない上に量が多いのでちょっとしんどかった。

14:00 。ピマーイに着く。タイのアンコールワットと呼ばれているらしい。 100B で入れる。片田舎なのであんまり観光客もいないけど、まぁまぁ面白かった。まぁでも○○の××とか言われるものはたいていしょぼいわけで、アンコールワットと比較したらたぶんどうでもいいんだろうなぁと思いつつ回った。なんかそいうネタは改蔵あたりであった気がするな。でもアユタヤとは違う感じだし(作った民族が違うし)まぁ良かった。

ここもワンダと巨像ぽい場所だった。あと4方向に対照的な作りになっていて、 Wizardry ぽいなぁとも思った。回転床とかあれば面白いと思う。賭博なんちゃら伝零ごっこができる。

適当にコーヒーを飲んだり、街をぶらついたり。ここもほのぼのしてて良いところだった。

同じバスでナコーンラチャーシマへ。ナコーンラチャーシマの二つ目の停留所に帰ったわけだけど、こっちからもバンコク行きがあるぽいので買う。 240B 。電車より高いけど依然として気になるような値段じゃない。いつ着くかわからん不安もないし、エアコンもあるしで文句がない。バスを待ってる間に屋台で串にさされた肉ぽい何かを買う。 30B 。ウィンナーとつくねっぽいもの。チリソースをかけてキュウリぽい何かと一緒に喰う。つくねぽいものはつくねぽかった。ウィンナーは中身が米だった。確かに腸詰めに肉を入れなきゃいけない必然性は無いなぁと納得。おいしかった。

18:30 。いつも通り30分ほど遅れて出発したバスは危険運転をしながら 22:00 に到着。途中事故ってたぽい人が倒れてる現場を見て、この危険運転も大丈夫かなぁと思いつつ。

こっちの運転は基本やばい。特にタクシーは平然と対抗車線を走るわ細かい隙間をスピード落とさずに抜けるわ3車線くらいの車線変更を平然とやるわ。なんでもない狭い道で 80km は出すし、高速なら、高速なのに道がデコボコしてたりするわけだけど、 140km くらい出す。まぁある意味運転がうまいとも思った。

22:00 。バスでなんか到着。到着した地点がどこなのかさっぱりわからないので、そこからタクシーでカオサン通りに。カオサン通りはうるさいと学んでいたので、ちょっと外れたところにある Bella Bella Guest House とかそういうヤツに。分類としては安宿らしいけど、エアコンがある部屋を選ぶと 520B と中級くらいのホテルの安い部屋くらいになる。サービスは中級のやつよりへちょいし、部屋もちょっと防犯気をつけないとなレベルが上がる感じなので、中級のやつの安い部屋の方が得だなぁと思った。

7:00 。ネットで情報収集。なんか王宮はいけてない服を着ていった場合でも、貸し出しサービスがあるらしい。豹変したトゥクトゥクの人に完全に騙されていたようだった。

8:00 。つーわけで王宮+ワットプラケオ。 350B 。ごつい。バンコクの寺では圧倒的な感じだった。 2時間くらいかけて回る。服は上は T シャツで OK だった。地球の歩き方情報によると袖つきじゃないとダメらしいのだけど。ハーフパンツは駄目らしいのでズボンだけ借りた。ワットプラケオもなんか色々作ってた。屋根を作っていたり、絵を書き直していたり。すごい細い筆でチマチマでかい絵を描いてたりして、感心した。

王宮は銃剣持った衛兵が何人もいて、入れないところの前に立っていた。うっかり入ろうとして刺されたりしたら悲しいなぁと思ってたけど、だいたい近寄ると×印を手で作ってくれるので意外と怖くなかった。あと王宮と言うけど実際の王は今はいないらしい。要は観光地。入れない空間はなんか儀式チックなことをしたりもする感じだったけど。

11:00 。王宮に予想以上に時間がかかったので、チェックアウトの時間聞いてないなぁと思ったので、荷物を取りにゲストハウスに帰る。途中ラーマ6?世を讃える博物館みたいなものを見つつ帰る。

11:30 。飯を喰う。そういえばパッタイを食べてないと思ったので、屋台もいいかなぁと思ったけどゲストハウスの前のちょっとしたレストランみたいなところで喰う。やたらおいしかった。 100B 。これも途中から台無しにして喰ったけど、おいしかった。ただナンプラーは好きだけどかけすぎるとちょっとおいしくなくなるなぁとわかった。少しむつかしい。

12:00 。チェックアウトしてから船でワットアルンというのに行くことに。船着場でワットアルンと言うと 18B と言われた。安いなぁと思いつつぼんやり乗る。ワットアルンの前の船着場には止まらず、そのまま少し残念な感じの英語の解説を聞き取りつつどんどん進んでいく。まぁ帰りしに寄るのかなーと思ったけど、そのまま終着点に着いてしまった。

しょうがないのでふたたび乗るかと思ってワットアルンに行きたいというと 130B とかそのへんの数字を言われた。後で考えてみると、ワットアルンの向かいの船着場で降りて、そこから対岸に渡る船に再び乗るべきだったみたいだ。まぁつまり 18B で 130B 分乗っちゃったってことかなぁと申し訳なく思った。

でもそのまま同じ方法で帰るのはシャクだし、また同じ間違えをしかねないし、タクシーで行くことにした。タクシーを2つくらい捕まえてワットアルンと言うのだけど、知らないと言われる。いや結構有名なはずなんだけど知らないって何事だろうと思ってると、トゥクトゥクにこっちに乗れと言われる。少し走ってからお前どこ行きたいのと言われて、ワットアルンと言うてるやんと思いつつ地図を使ってコミュニケーションをすると、どうも僕の発音が完全に崩壊してたようだった。なんかタイ語はイントネーションが5種類だかあって、それによって全然意味違うぽいんだな。

でまぁトゥクトゥクでワットアルンまで。この人なんかフレンドリーだし、今回は目的地に直行してるなぁと感心した。タクシーなら 100B 弱くらいかなぁと思う距離を移動してから、いくらーと聞くと 200B と言われた。このフレンドリーな人もぼろうとするんだなぁと悲しくなった。でも俺の時間を無駄にしなかったのは素晴らしいと思ってどうでもいいので言い値を払った。まぁアッサラームの商人みたいなもんで、まけろと言えばどう考えても 100B くらいにはなったと思うんだけど、まぁいずれにせよ 300円くらいで俺のプライスレスな時間を守ってくれたのでどうでもいいかと。やまぁそれにしても少しはまけさせるべきだったかもだったなぁとこれは思うが。

なんかネットとか見てるとやたらとぼられるから注意チックなことが書いてあって、まぁぼられると言ってもたいした額じゃないし金は高いところから低いところに流れる主義者としては観光客は多少多めに払えばいいんじゃねとか思ってた心境からだと思った。まぁいくらだろうとぼられるのが精神的にイヤだという心理も理解できるし、お前みたいなのが払うから次の人にもぼろうとする連鎖になるんだとか言われると反論できないけど。

13:30 。でやっとこさワットアルン。 50B 。えらい高いところにえらい急な階段から登れる。まぁでもそれだけ、っていう感じの寺だった。

そろそろめぼしいところは回った気がしたし、タイにいる親戚がいるらしいので、尋ねてみないとなぁと思っていたので、移動しようと思った。ただ対岸からタクシーとかで行くと橋を通るぶん回り道になって時間も金もかかるので、ぶらぶらしてから一旦対岸に船で行くことに。 6B とかで王宮のところに行けた。これならチェックアウト前に行っときゃ良かったじゃんと思った。

14:30 。そっからタクシーでその親戚の住所から察するに近そうな駅まで。 130B 。本当は近い地下鉄駅に行って移動した方が安かったのだけど、そろそろ時間が無いのでまぁいいかと。

15:30 。適当に住所情報から近辺とおぼしき通りを歩いてると、奇跡的に発見。でもフロントに言うと電話みたいなのをした後に、今いないみたいだと言われる。

16:00 。しゃーないなーと思いつつネカフェで実家にメールを送って連絡してもらうことにしつつぼんやり。

17:00 。連絡がついたっぽいので再度訪問。無事入れてもらって、雑談とかして、えらい高級なタイ料理店で夕飯をご馳走になって、再び雑談してから泊めていただくことに。高級タイ料理はとてもおいしかったのだけど、タイぽさはだいぶ減らしてある感じみたいだった。あまり辛くないとか。あと現地の日本人発行のフリーペーパーとかをもらう。そういえばベイエリアにも似たようなものあるなぁと眺めると結構面白い。明らかに優秀な地図もついてるし。

3:00 。起きてしまったのでごろごろして 4:00 を待つ。タクシーで空港に移動して終了。空港では土産をいくらか買って、タイの空港で両替すれば日本よりはるかにいいレート(1バーツ3円くらい)で両替してもらえることに気付いて両替してバーツを撲滅。結果として全旅程あわせて3万ちょい+2万マイルしか使ってないらしい。結構気前よくお金使ってたつもりなのに、いい話だ。

飛行機ではフリーペーパーを眺めていた。やはり面白い。長期出張してる人の妻的な人が同じような人をターゲットにしてるらしく、やたらとスパ情報が多い。記事はなんか麻薬買ってタイで30年禁固になってしまった人が監獄から書いてる手記みたいなのが面白かった。

http://www.daco.co.th/item/4369

タイは麻薬に厳しくて、特に売る側にかかわると死刑にもなりうるらしい。簡単に手に入ってしまうからこそ、対処のために処罰が厳しくなってる感じらしい。麻薬の類は体験できるものなら一度してみたいと思うわけだけど、まぁ合法な場所でやるのがどう考えても利口なんだろうと思う。オランダとかは大麻とかゆるいやつは OK らしい。

あと電車は本当に貧乏な人のための不便な移動手段で、バスは民間で競争して値段を下げてるので、バスの方が快適で速くて、値段もそこそこみたいな感じのことも書いてあった。そいうことは早く知っておくべきだったと思う。

あとなんか席が無かったのか、帰りは勝手にエコノミープラスになっていた。足の空間広いだけとか微妙な特典で金取るもんだと思ってたけど、足の空間広いと結構過ごしやすいし、隣の人に迷惑をあまりかけずにトイレに行きやすいと気付いた。いい話です。

でまぁ、総じて楽しかった。本当はだらだらすごす予定だったのだけど、観光地が普通に面白かったので予想以上に色々まわった。 30km 程度は歩いたんじゃないかなぁと思う。移動総量は 800km とかになってる。かわりにうまいタイ飯喰いまくり、という感じではなくなってしまったのは少し残念だったかも。でも飯自体は日本のタイ料理屋でも普通にいいんじゃないかなぁ、とも思う。あと言葉が想像以上に通じなかったので、数とありがとうごめんなさいくらいは覚えて行くと良かったなぁと思う。地球の歩き方にいくつか熟語が載っていてそれは助かったのだけど、ごめんなさいだけ無かったのはいただけなかった。

そうそう地球の歩き方は普通に暇潰しに読むものとして面白いなぁとも思った。ごめんなさいも載せてないくせに「パクチーはいれないでください」とかが載ってるとか、おもろい。こういうところに行くと麻薬が買えるけど駄目だよ! とか、このヘンのホテルは売春とかやってるから注意! とか、なんて実用的なんだ、という。

またふらっとどこか行けるといいなと思った。アジアだとベトナム&アンコールワットとか、マレーシア&シンガポールあたりをセットで行けると良さそう。

(02:28)

_ gray

http://twitter.com/pi8027/status/1955646278

昨日の段階でこのくらいまでは僕でも行くだろうなぁと思ってました。 要は重複してる部分を削っただけというか。 だからアルゴリズム的には同じじゃないかなぁと。 このままの方針でもすごい人がやると115Bくらいはいきそう。

(12:33)


2009-05-30

_ 南ヴェトナム戦争従軍記

http://www.amazon.co.jp/%E5%8D%97%E3%83%B4%E3%82%A7%E3%83%88%E3%83%8A%E3%83%A0%E6%88%A6%E4%BA%89%E5%BE%93%E8%BB%8D%E8%A8%98-%E5%B2%A9%E6%B3%A2%E6%96%B0%E6%9B%B8-%E9%9D%92%E7%89%88-548-%E5%B2%A1%E6%9D%91/dp/4004150388

古本で100円で買って読んだ。

ジャーナリストというのはなかなかすごいなぁというかんじだった。 まぁすごい人みたいだ。

http://akihiko.kazekusa.jp/

面白いなあと思った点として、 悲劇的なことがあった人こそ報道に協力的であるべき的な考えかたがあった。 なんか戦争で子供を殺された人が俺を撮れと叫ぶとかそういう話を書いて、 なんてすばらしいと評価してるような感じ。

なんかよく報道被害とか言って悲しいことがあった人を さらに報道が追いつめるようなのはよくないよーという論調があると思う。 まぁこれはこれでわかる話なんだけど、 悲劇を報道することで問題への意識を高めてその悲劇を繰り返すことを防ぐとか そういうことを考えると、なかなかねえというような。

僕は基本的になんでも撮ってくれた方が良いように思ってるけど、 まぁ自分が関係したらそうも思えなくなるのかも知れん。

(17:38)


2009-05-31

_ u3

死んだかも。 まぁいいかげん退役してもらうのが正解な気もする。

色々困るな。 SVN と kocha とかそのへんが動いてたんだっけか。

はてどうしたもんか。

(04:53)

_ gray code

http://golf.shinh.org/p.rb?Gray+code#C

pi8027さんてそんなに C ゴルフ歴長くなさそうなので なんかありそうだなあ…と思いつつ。 8B差も違和感あるし。

(04:55)

_ feisty

どうも u3 死んだ感じが強いので、 まぁとりあえず SVN リポジトリを動かしたいのだけど、 u の方の apt-get update ができない。 なんかどうも feisty のリポジトリが 世の中から無くなってるようだ。

でもこれ update すると xen が動かんくなったりするんだよなぁ。

びくつきながら libapache2-svn だけ入れてみた。 とりあえず大丈夫みたいだ。 でも再起動するのはこわいなあ。 でもするか…

(15:21)

_ backup

なにか SVN リポジトリのバックアップが強烈に古い。 HDD抜いてデータ吸うか…

(16:36)

_ うーむ

2.5inch HDD 抜いて USB で接続しても読めない。 まぁ SVN リポジトリ死去と言って良い。

フルバックアップでの最後の記録は

-rw-r--r-- 1 www-data 6.2k Oct 29  2008 3018

リポジトリのバックアップ一つ目

-rw-r--r-- 1 i  13k Jun  3  2008 2592

リポジトリのバックアップ二つ目

-rw-r--r-- 1 i  11k Apr  1  2007 1917

リポジトリのバックアップは cron で回してたはずなのに 両方ともフルより古いとかひどい。 一体 cron 君は何をしていたんだ。

CIA によると last commit は 3688 。 CIA は transaction log としても機能するはず (バイナリファイルをのぞけば) なので、こっから復元とかも可能ではあるかなぁ。

おー。と思ったら第三のバックアップがあった。

  • なんとなく不安になる
  • バックアップを取るシステムを考える
  • バックアップを取るシステムを中途半端に実現する
  • バックアップの存在を忘れる
  • 最初に戻る

というループを繰り返すから 無駄に中途半端なバックアップがたくさんあることになる。

さて、この第三のバックアップはリポジトリそのものでは全然なくて、 1日に一度 svn up しているだけという微妙な物体なのであった。 これで理論上は紛失したコードやデータは無いということだけど、 復元はかなりめんどくさいな…

この教訓を考えるにもちょいマシなバックアップの仕組みが欲しいね。 はてさて。

とりあえず web の方復元するか。 こっちは kocha とか ryokucha のログが紛失したかもしれないけど、 まぁ誰もマジでは使ってないだろうと思う…

昨日うまくやれなかった commit としては

  • syard
  • ag

あたり

(17:22)

本日のツッコミ(全2件) [ツッコミを入れる]

_ pi8027 [以前から少しづつやってはいましたよ。確かにあまり長い方ではありませんが。 自分なりに必死に考えてやってどうにか113..]

_ shinh [なんか僕のゴルフ経験によると、追う方が先に記録作るよりはるかに簡単だということがありまして、それはまぁほげほげバイト..]


2009年
5月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
1.shinh(2014-05-24 04:15) 2.pi8027(2014-05-24 04:15) 3.shinh(2014-05-24 04:15)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h