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

はじめてのにき

ここの位置付け

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|

ToDo:


2008-06-01

_ ふりー

http://twitter.com/yanbe/statuses/822305215

ただしい。

でも、じゆーを守ろうとすると一時的にふじゆーになるのは 普通にごく当たり前なことだとおもう。

(04:00)


2008-06-02

_ おお

ありがとうございますー

http://homepage1.nifty.com/herumi/diary/0806.html#2

とりあえずそのへんのヘッダは別にいらないっぽかったので コメントアウトして固めて上げなおしておきました。

でも無いってのもへんな話なのかな Ruby わからん

(23:34)

_ tamarin

今さらながら斜めよみした。

http://www.dodgson.org/omo/t/?date=20080510#p02

おもしろいなぁ。 んでも何か所か疑問というかよくわからんとこがあった。

LIRを生成しつづけるとメモリがあふれる、 ってとこだけど、プアな環境では、ってことかな。 LIRとnative codeでそれほどサイズに差があるとは思えないし。

あと関数内にtraceしてったらそのままインライン展開されるおー とかホンマかーという。 もろもろ問題ありそうな気がするけど その気が正しいかどうかもよくわからん。

http://blog.mozilla.com/dmandelin/2008/05/23/tamarin-tracing-internals-iii-lir/

(23:40)

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

_ omo [もろもろありそうですね。 とりあえず再入可能ではないらしいし・・・ http://blog.mozilla.co..]

_ shinh [おお見落としてましたありがとうございます > 再入不可 コメントの "TT isn't re-entrant ..]


2008-06-04

_ びょーん

http://www.atmarkit.co.jp/news/analysis/200806/02/google.html

まぁたぶん99%くらいで僕だと思う、が、 妄想で補完したんだと思う。悲しい。 いくつか文句があるので考えてみる。

 ある技術系イベントの席で、たまたま隣になったグーグルの技術者が、私にこう言っ
た。「オレ、アプリはやらないんですよ。画面とか、面倒くさいでしょ。グーグルドキ
ュメントとか別に消えていいって感じ。インフラにしか興味ないんですよ。OS? OSなん
て、どうでもいいし」。

 20代後半にして自社製品の悪態をつくとは、ずいぶん脇の甘い発言をする人だなと感
じたと同時に、何か暗いものを抱えた人なのだろうという印象を受けた。今の時代はイ
ンフラよりもサービスに華がある。フロンティアが広がっているのもサービスの分野だ
。インフラにしか興味がないという発言をする技術者に「暗さ」を感じたのは、記者が
勝手にそう思いこんでいたからだった。
  • 会社ではやってないとか会社ではやりたくない、っていうのは言うと思うけど、アプリ「やらない」って言うかって言うと言ってないと思う。今も昔もそれなりに書いたと思うし。
  • 画面めんどくさい。言うと思う。でもしつこいけどそれなりに書いたことあるよ!
  • Docs への暴言はしょっちゅう言ってそう。
  • インフラにしか興味ないは言うわけない。
  • OS どうでもいいインフラって、つまり水道とかそういう意味のインフラかね。
  • 脇が甘いってのは否定できない。
  • 暗いってのは否定できない。ひきこもりでごめんなさい。

まぁせっかくだから僕もわるくちを書く。 この人自分の仕事に誇り持ってるとか 人間社会の役に立たないといけないとか、 お前も俺の歳になればわかるとか的な、 こと言ってて、 (要はこれ http://shinh.skr.jp/m/?date=20080310#p04) 正直キモいなというかまぁ少なくとも僕とはわかりあえないとか 当時思ったんだけど、 メディア名乗るんなら録音でもメモでもして正確に書けばいいのに 呑み会の適当な記憶を適当に補完したとしか思えないってのはなぁ。

わるくちまだ書けそうだけどまぁめどい。

(00:45)

_ daemon の作り方

いつも忘れる。 たしか akr さんが 詳しく書いておられたなーと適当にぐぐってみたら Process.daemon というのを加えておられた。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24030

これはすばらしー。

(00:52)

_ casec

やった。ねむい。ぜんかい

http://shinh.skr.jp/m/?date=20071128#p01

受験日 Sec1(full:250)  Sec2(full:250)  Sec3(full:250)  Sec4(full:250) Total(full:1000) TOEIC(R)(スコア目安) TOEFL(R) (※)(スコア目安)英検級(目安)
2007/11/28 20:12:17 160 176 185 174 695 705 502 2級
2008/06/04 01:55:29 203 174 211 137 725 810 513 2級

うさんくさいなぁ。 英語力とかマシになってる気しないんだけどな。 あと TOEIC の目安増えすぎだろうどう見ても。

(03:04)

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

Before...

_ 西村賢 [こんにちは、「この人」の西村です。はてブで突っ込まれていましたが、パブリックな場であの文章は確かにひどかったと反省し..]

_ shinh [あ、どうも。記事修正ありがとうございます。まぁどっちでもいいのですけど。個人的には暗いとかそのへんは、そう思われたの..]

_ shinh [あ、あと TOEIC は CASEC とかいう別の試験の換算点数しか知らない上に2回しか受けてないので、母数が少なす..]

_ 西村賢 [話した感じが暗いとは思いませんでした。どっちかいえば社交的ですよね。ただやたらとDocs死ねばいいのにと繰り返すので..]

_ 西村賢 [横槍ですが、英語デキテル実感が微かに出てきたのはぼくの場合TOEICで940を越えたあたりからでした。900ぐらいで..]


2008-06-05

_ vimperator

tekezoさんが使ってると確認できたので Fx3 使いたいし移行することに。

だいぶいい感じな気がする。 基本的な使用感はかなり良い。 ただ Ctrl 系でたまに使うようなバインドは ヘタレのためになるべく残しておいてくれても 良いのになぁとは思った。 ^u の暴発とかをよくやる。

(00:13)

_ うーん

LIRっぽいのがうまいこと作れなかったので、 毎度スタックを通すんじゃなくて レジスタで渡したりとかできるように ダサい最適化をしょぼしょぼ加えてたんだけど、

> ./rubyjit.rb bench_loop.rb
      user     system      total        real
times:   0.920000   0.000000   0.920000 (  0.920898)
upto:    0.970000   0.000000   0.970000 (  0.962793)
while:   0.120000   0.000000   0.120000 (  0.129037)
for:     5.130000   0.480000   5.610000 (  5.626509)

が while で 1.05 くらいにはなったものの、 ダサくてバグありそうだったので ロールバックした。

やっぱなんかLIRっぽいのを挟んだ方が うまくいきそうな気がするので、 頭ひねってどんな感じで作るか考えようかと思う。

まぁとりあえずその前に未実装の命令潰すか。

(01:08)

_ 記録だいじ

ふとしたことで半年くらい書いて 途中で放棄しちゃってるコードの存在を思いだした。

たしかだいたい動くところまでいったけど、 なにか一つ不具合があるのが気に入らなくて 書き直してる最中にめげたとかだったと思うんだけど、 これ何してるか読めない。

(02:01)

_ また体調くずしぎみ

最近ほんとひどいな。

あと公平を期するってよく考えると難しい熟語だなぁと思いつつ 期すると、インフラにしか興味がない話は まぁ正直誤解しか招かなそうな話しかたしてる方にも 責任どう考えてもあるので少しは反省する…

そのへんkzk神の分析がただしいと思う。

http://twitter.com/kzk_mover/statuses/826432692

(22:47)

_ TODO

  • 銀行になんかおくる
  • 大復活やる
  • ケータイとりかえす

こないだケータイ取り返しに行ったら 「お客さん充電器ありませんねー返せませんー」 って感じでアチャーだった…

(22:53)

_ 銀行の方も

なんか書類不備とかなんだよな。 何事も一度ではすまなくてめんどくさい。 しかし必ず二度迷惑かけてるってのは

(22:54)


2008-06-06

_ moose

http://www.slideshare.net/hakobe/moose

via http://mono.kmc.gr.jp/~yhara/d/?date=20080601#p01

なんかスライド見た感じだと静的型チェック 本当にできるんだろうか…という感じだった。

そうそう Yajit 書いてて思うのは 型チェック欲しいねーという。

関数の引数だの返り値の型推論はまぁなくてもよくて、 引数に型が明示的に指定できると嬉しい。 無理矢理既存の Ruby を壊さずに オプショナルな型指定を入れるなら、

TYPE_fib = [Fixnum, [Fixnum]]
def fib(a)
  a > 2 ? f(a-1) + f(a-2)
end

とか定数につっこんどいたら 見てくれるとかそういうアドホックな感じでもいい気がするなあ。

fib で思い出したけど definemethod 実装してみたので ベンチしてみれるのだった。

> time ruby hoge.rb
1346269
ruby hoge.rb  2.13s user 0.28s system 99% cpu 2.423 total
> time ruby1.9 hoge.rb
1346269
ruby1.9 hoge.rb  0.24s user 0.01s system 96% cpu 0.262 total
> time ./rubyjit.rb hoge.rb
1346269
./rubyjit.rb hoge.rb  0.36s user 0.00s system 97% cpu 0.368 total

なんか思ったより遅くないな。 まぁ既知の関数なら Ruby に戻らずに直接 call するような 最適化とかできると良いね。

(01:18)


2008-06-07

_ TODO

  • sevilwm
  • sed
  • yajit の throw とか
  • yajit のレジスタほげほげ

まぁ気持ち悪いけど、 x86_64-darwin とか正直知らんっすーという感じで とりあえず対応する命令増やして色んなコード動かしてみた方がいい気がするな。

(00:03)

_ 社内ニート術

http://anond.hatelabo.jp/20080603171436

http://anond.hatelabo.jp/20080604095249

http://d.hatena.ne.jp/companeet/

すばらしい文献をみつけた。 しかし実践は難しそうだ…

(00:19)

_ OSC

http://www.ospn.jp/osc2008-do/

のついでに北海道旅行に行けないか

(00:22)

_ ふえー

http://www.kernel.org/doc/man-pages/changelog.html#release_2.80

カスみたいな変更なのに名前乗ってるし。 丁寧なプロジェクト運営してるんだなぁ…

(01:50)

_ かうぼーい

http://onosendai.jp/championship2008/index.html

そいやこれどうしよ

(02:45)

_ checkincludearray

ary = [1,2]
case 1
when *ary
else
end

へーこんな書き方できるのか… checkincludearray false が出るケースがよくわからんけどまぁ とりあえずいいとしよう…

(03:22)

_ さて

defineclass とか実装できる気がしないし、 JITする意味とかさっぱりないと思うので、 うまいこと YARV に丸投げできるといいんだけど、 はてさて。

(03:40)

_ defineclass

本当に難しいのだろうか。 とりあえず

  • クラスが無ければ作りますよ
  • それ以降の definemethod はそのクラスの下にね
  • 終わったら元に戻しますよ

ってくらいでいいのではないのか。 なんかできる気がする。

(04:46)

_ goto

http://www.atdot.net/~ko1/diary/200806.html#d7

みんな大好きな C だって Ruby にはできないようなことできるし許してあげてもいい気もする

#include <stdio.h>
int main() {
    int i;
    goto i;
    for (i = 0; i < 3; i++) {
        break;
    i:  printf("%d\n", i);
    }
}

ついで

http://d.hatena.ne.jp/shinichiro_h/20050628#c1119962566

(13:43)

_ 子→親

http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%aa%e3%82%b9%e3%83%88%e5%87%a6%e7%90%86#H-ne4pu7

tree = '(Root (Spine (Neck (Head))
                     (RClavicle (RUpperArm (RLowerArm (RHand))))
                     (LClavicle (LUpperArm (LLowerArm (LHand)))))
              (RHip (RUpperLeg (RLowerLeg (RFoot))))
              (LHip (LUpperLeg (LLowerLeg (LFoot)))))'
tree.scan(/ \((\w+)/){puts"#$+ . #{a=$`.split*'';1while a.sub!(/\(\w+\)/,'');a[/\w+$/]}"}

書き捨てコードだったら本当にこんな感じに書きそうだと思う。

で、ゴルフしようとしてもあんまり縮まないんだよな… Perl みたいに再帰的な正規表現扱えると短くなりそうだ。

(14:04)


2008-06-08

_ あー

class B
end
b = true ? B : Object
class C < b
end

動的に継承元決めれるのか!

(00:02)

_ たまねぎ

http://d.hatena.ne.jp/hayamiz/20080607/1212837967

カレーのうまさは玉葱の量に正比例することが 数学的に証明されてる[要出典] ので全部入れればいいのに

(00:53)

_ やっぱりそうかー

http://twitter.com/alohakun/statuses/828610236

僕もそんな気がしていました。 たぶんヒモとと同じくらい高難度。

(01:11)

_ Process.daemon

> irb1.9
irb(main):001:0> Process.daemon
i@u4 ~
> fg
fg: no current job

あたりまえだけどこうなるんだな。

(01:15)

_ ふむふむ

http://twitter.com/yhara/statuses/829198577

とりあえず確認。

(02:59)

_ ざっと見た感じ

おそらく 10.5 では CoreFoundation に入ってるシンボルなんだろうけど、 10.4 では Foundation に入ってるみたいだ。

DYLD_FORCE_FLAT_NAMESPACE とかでうまくいかんかな、 と思ったけど bus error

そもそもうちで SDL ビルドすると CoreFoundation だの Foundation だのへの 明示的な参照はできないんだけどな。 Cocoa あたりから間接的に参照されそうなものなのだけど…

(03:22)

_ T_CLASS

Ruby のこの定数の値変わってる…

ruby-1.9.0-0 とか -1 とか入ってるけど、 ヘッダの位置変えてなかったから それのせいでエラーが…

うーんインストールする場所は分けとくべきだったのか。

(05:52)


2008-06-09

_ シレン

http://d.hatena.ne.jp/atty/20080609#p1

おお買わなくていいよ情報が

(01:59)

_ 例外

いいかげん見るかーと思って少し考えはじめた。

まず Yajit が呼んだ非 JIT Ruby/C 関数が例外投げた場合。 これはもう JIT 関数では例外受け取れません! とかでいい気がする。いいんだよそれで! この制約はたぶん、 Ruby で書いた Proc オブジェクトを JIT 関数から呼んだ場合の return とかが わけわからんことになる(たぶん落ちる?)を意味する…と思う。

まぁたぶんちゃんとやろうとすると、恐らくだけど、 前者は Ruby 側いじらんといけないと思うんだよね。 だからとりあえず忘れる。 後者は Proc object 動かす時は JIT してから呼ぶ、とかやればまぁなんとかならんでもない気もする。

いや rb_rescue とかでできたりするのかな… rb_rescue もまた rb_rescue2 とかあって萎えるな。 まぁいずれにせよめどいので忘れる。

でまぁとりあえず、その制限のもとでなら break とかはできるんじゃないかな。

あと raise があったら、とりあえず rb_raise 呼んでやるくらいは してあげてもいいと思う。 いかにも面倒そうな rescue だのなんだのはとりあえず忘れる方向で。

しかし未だに Ruby の例外がよくわかってない。 vm_throw の throw_state って色々難解だな…

http://www.dzeta.jp/~junjis/code_reading/index.php?Ruby1.9%2F%CE%E3%B3%B0%BD%E8%CD%FD%A4%F2%C6%C9%A4%E0

http://rhg.rubyforge.org/svn/ja/chapter13.txt

(23:13)


2008-06-10

_ LLVM

http://llvm.org/docs/LangRef.html

よく考えると俺は LLVM を勉強すべきなんじゃないかと 思い出した

(00:42)

_ throw

よく考えるとどうやって スタックの unroll すればいいんだ… x86 はなんとでもなるが、 x86_64 はデフォではスタックフレーム作らんしな。

戻る先の DFP から スタックの深い方見ていって bp ぽいのがあればそれ採用〜とかでもとりあえずいいか、な?

まぁなんにせよ今日は web 系記念日

(09:03)

_ rog-o-matic

とかは結構な確率で rogue 解いちゃってたらしいけど。

(23:26)


2008-06-11

_ ねむい

今日は完全俺向け web サービスとかを作ったのだった。

あと break はできた、っていうか YARV が暴れないようにするのは rb_iter_break 呼ぶしかなさげで、 これ呼ぶんならむっちゃ簡単だった。

で return はちょっとめんだくさいができそう

(00:15)

_ るびーかいぎ

http://jp.rubyist.net/RubyKaigi2008/?Program

紳士的なイベントに注目ですね。

(01:16)


2008-06-14

_ SVM

これいつデータ作りおわるんだろう…

(04:25)


2008-06-15

_ ぎんこー

とりあえず新生銀行の口座ができた。 これで近所のセブレでタダでおろせるんだよねたぶん

(18:17)

_ TODO

プライオリチーを考える

  • ゴルフのページを編集する

すぐやろう

  • ゴルフの問題かんがえる

今日中にやろう

  • yajit

language shootout やりたいが

  • マラソン

もうどっちもいいかという気がしてきた。 2,3時間で書いたコード適当に submit しても 60-70 位くらいは 取れてちょっとレート増えたりしそうな気もするが。

  • OCR

書いてみようと思ったけど 日本語 OCR は案外難しいことに気付いた。

  • sevilwm

まぁとりあえず後回し

(18:24)


2008-06-16

_ ついた

http://www.jmuk.org/diary/2008/06/16/0

あたまのおかしい子は「俺をフォローしろ」と読みました。

(22:46)

_ ウィルコム

なんかお客様が返した代替機に お客様の充電器がついてましたよ取りにおいで、 とかいう電話がきました。

この充電器というのはこうね、

  • 修理オワタよーと電話きたので、代替機を持っていく
  • お客さーん充電器ありませんヨー返してちょー
  • しばらく放置
  • お客さーん取りに来てよー
  • 適当にそのへんにあった充電器と一緒に返して修理品げっと
  • 現在

つまりたぶん、

  • 代替機は充電器無しで借りて、自分のを返してしまった
  • 代替機は充電器借りたけど僕が紛失しつつ、自分のを返してしまった

のどっちかかね。 ようわからんな。

なんにせよ三度手間で困る。

三度手間と言えば新生銀行も三度手間をやらかした。 二度手間生命体から三度手間生命体への ランクアップだかダウンだかが行われているんだと思う。

(22:58)

_ あとぴー

http://www.liarsoft.org/diary/20080615.html#20080615p2

僕もなんかアトピーが再発してやがって人事じゃない…

アトピーのつらいところは…

  • 「かかなきゃいいじゃん」→全くその通りなのですが、かきむしって血だらけになって痛い痛いな状態の方がまだマシな程度にかゆくなったことがありますでしょうか。
  • 「でもかかなきゃいいじゃん」→腕しばるくらいのことはしないと寝てる間にかくわけですよ…
  • 「薬」→ステロイドの不審さは有名。塗ってすぐは「なおる」わけだけど、その後がよーわからん。
  • 「フケ」→頭とかにアトピーが出るとなんかやたら皮がこぼれててフケっぽくなるとかなんとか。

など、人にイマイチ理解してもらいがいたいところがあると思う。

まぁ僕とかしばらくしたら治るので全然いい方だと思うのであった。

(00:01)

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

_ やぎ [アトピーは治るよ 住まいの環境をかえれば 絶対に治るよ ちょっとした改装が必要だけどね]


2008-06-17

_ あと

僕は爪かじる癖がもうさっぱり覚えてないけど 適度に長い間あったんだけど、 これ癖とかじゃなく意識的に爪はかじるべきだと思っていて、 今でも爪切りと併用してる勢いだと思う。

アトピー的には爪切ってない爪ってのは かなり気持ちいい掻くための装置であって、 寝てる間とかにダメージを与えてしまうのはしょうがないものがあるように思う。 んでもって、アトピー的には同じく、爪切った直後の爪ってのは 最高に気持ちいい(んだけどこれって一般的に同意が得られるものなのかは知らない。 蚊に刺されたとかなら爪切った後の爪で掻きたいなんて思わんし) とかいう事情があって、 まぁとにかくめどいので間をほって話を進めると、 爪かじったらほどほどに先端が丸くて アトピー的にダメージ少なめな爪になるので、 まぁ寝る前にそいう状態にしておくとかは重要な気がするんだよな。 本当かどうかは知らんけど

(00:11)

_ 不思議だなと思った

蚊に刺された部分を掻きたいと思ったことは正直一度もないように思うんだけど、 なんでアトピーの方は掻くんだろうね

(00:13)

_ つか

もちょい正確に考えるに、 うーんなんだろう、 こう障害者の人の体験談とかそいうの読んで、 「あーこいうのなら俺がその立場ならこいうふーにクールに応対できるかなー」 とかそいうことを思うことがあると思うんだけど、 まぁそれがもうたぶん絶対無理だとわかるのはデカいかなーと思う。

こうもう、たいしたもんじゃない俺のアトピーでも 明らかに俺の意思を越えた動きを勝手にしてやがるとかそういう

あでもこいうのは俺がアホなだけで、 まぁ普通の人は普通に絶対無理だとわかるのかもしれない

(02:01)

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

_ ksw [爪切った後なら掻いてもダメージ少なくて嬉しい、なら分かる。切ってなくても指の先で掻くとか。さらにガーゼの上からなら掻..]

_ shinh [あーうー。全く正しいと思います。しょーじき最悪の掻き方を許容しない範囲で、一定の掻き方(なんか指のやわらかいところで..]


2008-06-18

_ カレー

http://d.hatena.ne.jp/Ozy/20080617#p1

  • 先生に聞いた話: インドの料理番組は、「ハイ今日はデザート作ります」で始まっても成果物はカレー。
  • 自分で見た: インド人の多くはたぶん本当にカレーばかり喰ってるんだと思う。MTVのカレーコーナーには他の列とは比較にならない長蛇の列ができてた。
  • 他のエンジニアに聞いた話: あるインド人は自分達がカレーを喰う感覚で日本人はスシを喰ってると信じていたらしく、スシなんて一月に一度も喰わねーよと言ったらショックを受けていたとか。

などなど。

(00:20)

_ fx3

せっかくだから入れてやろうと昨晩ダウンロード → 32bit 版だからライブラリが色々ロードできぬー。

よって、くやしいからソースからビルドした。

(12:02)

_ あれー

http://www.kmonos.net/alang/boost/classes/multi_index.html

そうなのか二つコンテナ持つんじゃないのね。 DBみたいにインデックスはるとかかな。後で

(12:12)

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

_ kinaba [http://www.boost.org/doc/libs/1_35_0/libs/multi_index/doc/..]

_ kinaba [そのようなイメージではよくない気がしてきました。 より正確には struct E {  T elem;  ..]

_ shinh [あーそうかこんな感じでいいんですね。 hash<E> とかで持っとくと3種類のアクセスが楽しめそうですね… ]


2008-06-19

_ ゴルフコンペ

なんか頭の悪いイベントがあるそうなので 適当にご参集下さい。

http://jp.rubyist.net/RubyKaigi2008/?Golf

プロゴルファーのみなさまにおかれましては、 18:00 以降に適当に投稿して下さい。

(01:23)


2008-06-20

_ ふむ

http://tabesugi.net/memo/cur/cur.html#192038

C++スキーとしては色々あれだなー。 でもまぁ LISP というか CLISP を指してるんだとしたら ありえんだろというくらいで後は宗教的な話か。

「わざとからみあって」はたぶん勘違いだと信じたいところ。 RMS が RTL が完全にアーキテクチャフリーじゃないのは 自由を守るためで、意図的、と言うのは見たことあるので、 まぁそのことじゃないかなと思う。

あとその件に関してはまぁ、 アーキテクチャフリーで各アーキテクチャで 「十分」(つーても定義曖昧だけど)高速なバイナリ吐ける RTL なんか作れるわけねー、 と凡人の脳では思ってしまうので、 そのへんどうなんかなぁ。

本当にすごい人は作れるんかなぁ。

(00:46)

_ そうや

STMはよーわからんけどうさんくさいと思ってるんだけど、 SがつかないTMはどうなんかなぁということはまぁよくわからない。

(00:57)

_ 明日は

筑波に行くんだよ 筑波だよ渋谷じゃないよ

と書いておかないと絶対間違えると思うんだよな

あとゴルフ場テストしてないのはまずいと思うんだよ

(01:01)

_ とりあえず

19時デッドラインの機能を適当に足して、 練習問題を上げておいた。

なんか思ってたよりちゃんとやるつもりみたいなので、 今日一日うまいこといくといいなぁ。

あとはパー解答とか入れようかなーと思ったので、 それ用の解答とか作りながら行くかな。

(09:28)

_ ねむい

色々アレなハックを入れて問題2つ入れた。 パターゴルフでちゃんとパー切りが出て良かった

(14:00)


2008-06-22

_ 正規表現JIT

http://www.dodgson.org/omo/t/?date=20080621#p01

は面白いんじゃないかなーと妄想しつつ 試してもみてなかったんだけど、 なんかあるみたいだ

(16:29)


2008-06-23

_ VMとか

http://natu.txt-nifty.com/natsutan/2008/06/post_d6a1_2.html

演算の対象、つまり即値じゃないオペランドが どこにあるか、でスタックマシンとレジスタマシンは 呼び分けてるのかなぁと思ってた。 だからたぶんだいたいのリアル CPU はレジスタマシンじゃないかなぁとか。 MAXQ とかはメモリマシンとか呼んであげたい感じなんだろうか。

http://japan.maxim-ic.com/products/microcontrollers/maxq.cfm

あとなんか IA64 のレジスタスタックの方が もっとスタックスタックしてる気がするような。

(00:23)

_ まっく

rake 入らん。 gem でも macport でもなんかうまくいかぬー。

export GEM_PATH=/opt/local/lib/ruby/gems
gem install --remote rake

とかでうまくいった。 port で入れたかったんだが…

Important: MacRuby requires Mac OS X 10.5.2, or later.

がくり…

(00:36)

_ あそうか

GC がないとか論外じゃーん。

しかしビルド中のメッセージを見るに ffi/ffi.h とか Leopard には入ってるんだなぁ。

(00:38)

_ はえーなー

http://www.nicovideo.jp/watch/sm3740959

(01:32)


2008-06-24

_ VM

http://natu.txt-nifty.com/natsutan/2008/06/vm_e3c7.html

そうそうレジスタマシンのメリットってよくわからない ってのはたしかに。思いつくのは

  • スタックポインタ動かすコスト (YARVしか知らんけど、たぶんリアル CPU のスタック動かすよりは少し高い)
  • 型がわかる場合に型ごとに別のレジスタにつっこんどけばチェックがはぶけたり?

あたりかなぁ。

あと parrot のドキュメント見ると速いと主張してるな。

http://www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html#i-4-2

スタックの伸長の話は本当かなぁ。 全然知らんけど関数呼ぶ時に レジスタを退避する空間というのはなんにせよ必要なので、 関数呼び出し時にスタック的なものは伸びると思う。 んでまぁスタックマシンも別に毎度律義にサイズチェックしつつ push pop するんじゃなくて、 関数入る時に必要な分だけ確保するんちゃうかな。

http://twitter.com/alohakun/statuses/841568669

はリアルマシンには正しいと思うけど VM だとたぶんあやしいかな。

http://d.hatena.ne.jp/scinfaxi/20080617#c1213757882

はどうなんだろう。 IA64 のレジスタ割り付けを妄想するに

  • 関数呼び出しの前後で保存せなあかんのはレジスタスタックのレジスタ使う
  • そうじゃないのは32レジスタを適当に使う
  • 32個で足りなさげな時はレジスタスタックを適当に使う

全然普通通りなのでつまり適当で良さげなのかな。

なんかでも見聞きする限り IA64 は x86 なんかより はるかに複雑怪奇なんじゃないかな。 だからこそ死に絶える前に遊んでみたいんだけど。

(00:13)

_ VM

なんか最近 VM とかそのへんに割と興味があるみたいだ。

  • Yajit 続き

レジスタ割り付けめどいにゃーとか。 適当に書いた部分直さないとにゃーとか。

あとそういえば、ネイティブ無理ポと思ったら コンパイル諦める機構が何かしらあるといいかなぁと思う。 例えば definemethod が来たら とりあえずコンパイルしておいて、 次回からの呼び出しにはそっち使うんだけど、 同じ definemethod が呼ばれるようなうざいことがあったら もうコンパイルシネーヨというような。

あんま深く考えてないのでわからん。

  • GC

なんか最近興味が

  • Golf VM

とか作るといいと思う。 とにかく短いバイトコードを目指す VM 。

(02:15)


2008-06-26

_ gc

http://wiki.livedoor.jp/author_nari/d/GC

via http://d.hatena.ne.jp/ddk50/20080625#1214376909

何度か目に入ったけどそいや読んでなかった。

(03:00)

_ だるい

ので一回休み。 なんか熱とかあってわらう。

まぁ冷静に考えると筑波で水もしたたるいい不審者だったので 風邪ひいて当然なのかも

(15:57)

_ なんか

tanakh さんがマラソンやってるなーというか やっぱすごい人はすごいなぁ…

(15:58)

_

http://twitter.com/QLeap/statuses/844051259

http://services.google.com/events/kyoto-techtalk2008

俺が tech talk を聞きに行く計画を。

(22:05)

_ すげー

http://d.hatena.ne.jp/ku-ma-me/20080626/p1

でもたぶん 1.9 でも出力はこれでいいと思うんだなー。

$><<(''<<$_[@@_])

1.8 でも数値つっこむと数値出てるというか

(23:48)

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

_ ku-ma-me [おおほんとだ。なんか勘違いしてました。どもども。]


2008-06-27

_ 入力の方

テーブル作らない方法はわからないなぁ。

テーブルの作り方としては

_=(/$/=~'#')<<(/$/=~'#######')
p ([*''<<(//=~'')..''<<~-_]+[*''<<_..''<<~(//=~'')])*''

みたいな感じの方がわかりやすいかも。

[*""<<0..""<<-1]

[*""<<0..""<<255]

の結果が 1.8 と 1.9 で全然違うのは興味深いな。

(02:39)

_ ぼえー

なにしにいったんだという感じではあるが ふらふら会社いったらやっぱしんどかったので さっさと退散したすんません。

とりあえず京都は行けることになったらしいので行こうとおもう

(20:18)

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

_ ku-ma-me [その辺、1.9 の方のバグという噂です。バグ挙動の方が便利なので報告したくないんですが (笑)]

_ shinh [正直何がバグで何が違うのか難しいですね…]


2008-06-28

_ Perl5VM Golf

気になってたのでニコニコで見た。

http://d.hatena.ne.jp/tokuhirom/20080623/1214220971

うーん面白いと思うけど、レギュレーションが微妙かなぁ…

なんか perl のバージョンに依存してるのがね… うちの 5.10.0 だと

> perl -MAcme::PerlVMGolf -e '1/!!!!1'
hit: 5op(const, constant item)
hit: 96op(not, not)
hit: 5op(const, constant item)
hit: 96op(not, not)
hit: 5op(const, constant item)
hit: 96op(not, not)
hit: 5op(const, constant item)
hit: 96op(not, not)
hit: 5op(const, constant item)
hit: 5op(const, constant item)
hit: 57op(divide, division (/))
hit: 180op(enter, block entry)
hit: 177op(nextstate, next statement)
hit: 181op(leave, block exit)
Your perl is : 5.10.0
Your score is : 1009op

とずれるのよね。 YARV も instruction 変わったりするし難しいんじゃないかなぁ。

素直に op code サイズ縮めりゃいい気がするんだけど、 たぶんスタックマシンの VM ゴルフとかそんなに面白くもないんだろうな。 ちょうどを目指すのがリアルゴルフ感があるといえばあるし。

(01:11)

_ うーん

しんどい

(01:22)

_ しんどい

起きたらあろは先生が喋ってたので見てた。

gccint.info を誰か訳すといいと思うんだよね。 あと gcc wiki の internal なんちゃらとかあのへん。

しんどいのでこんなコードを書いてた。

int main() {
    int p = 1;
    if (p > 0) {
        int p = printf("%d\n", p);
    }
}

驚いた。これ 0 って出力されたんだぜ…!

(19:06)

_ ふと思った

Array#step 欲しくね。 なんか出力適当にやって

hoge fuga
30 20 40 50
foo bar
10 30 20 40
...

みたいな感じで出力しちゃうことが結構あるんだけど、 これをパースするのは意外とめんどくてうざい。

こういうのがあるとすっきり。

class Array
  def step(n, &pr)
    i = 0
    while true
      a = self[i, n]
      break if a.size != n
      i += n
      pr[*a]
    end
  end
end

File.read('log').split.step(6) do |s1, s2, n1, n2, n3, n4|
  puts "#{n1}"
end

(21:07)

_ top10を残すデータ構造

ってどうするのがいいのかなとふと考えた。

一番点数低いのがトップに来るようにヒープを作っておいて、 その点数一番低いヤツより大きければ 一番上取り除きつつ新しい要素を挿入、 とかするのが良さそうに思った。

点数低いのがトップに来るあたり priority queue としてはちょっと面白いような。

まぁたいていは map かなんかに適当につっこみまくって 上位なめるだけでうまくいくんだけどなー。

(21:21)

_ ろーぐらいく

リスク犯すほどのリターンが基本的に無いって話が あるんじゃないかな。 僕の知る範囲ではローグライクで言うリスクってのは死で、 その場合のリターンてどうせその場で生きのびられる、 だけなんだよな。 明らかにリスクに見合わん。

無理にそれ以外のリスクリターンとか考えると… シレンでレベル上がっちゃった敵がいて、 今自分階段とこにいるから逃げられるけど 手持ちのアイテムを使えばそいつを倒せてレベルがたくさん上がるとか… それはリスクリターンというより単に損得勘定だな。

うーん。たぶん大丈夫だろうけど万が一がありそうな泥棒とかかね。

(22:14)

_ priority_queue

これ priority_queue_map とかがあるべきなんじゃないかなとおもった。

(22:53)

_ watch コマンド

って知ってますか。 tee とか tail -f とかと並ぶ状態監視ツールなんだけど、 まぁそれらと並ぶという時点でそんなに使わない。

で、それとはあんま関係なくて、

diff -u results/18 results/19 L

的なことをよくする (L は |&lv) わけだけど、 これを見てる最中に results/19 は 更新中だったりすると、 もう一度コマンドを実行して今の状態が見たい… と思うのはまぁ自然なことかと思う。

でこれが R でできないのが腹がたつ。 無論 q ^p ^m とかでもいいんだけど、 これだとカーソルが最初に戻っちゃう。

unix pipe は唯一成功したコンポーネントアーキテクチャだとかいう Rob Pike の正気かどうかよくわからん主張はこう、 半ば賛成するんだけど、でももうちょいこうなんとかねぇ。

(23:38)

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

_ ょゎ [> Array#step Enumerable#each_slice でどうでしょう? 最後の端数も yield..]

_ shinh [おおすばらしい。書いてからありそうだなーと少し思ったのですが、調べるのをさぼってました。ありがとうございます。 ]

_ へるみ [>これ 0 って出力されたんだぜ…! -Wallつけると「未初期化だよ」って文句言われますね.未定義なのかな. ..]


2008-06-29

_ iTunes

Linux から MacOSX で動いてる iTunes に対して レートがさっくりつけられる手段が必要だなぁ。

(03:08)


2008-06-30

_ cppguide

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

はてぶされてるか確認すれば 本当にパブリックになってるか調べられるとわかった。

それはそうとまぁ個人的な印象は、

  • 例外無し。一番でかい点だと思うけど、まぁ別に良い。あんま例外が向くアプリ書かんというのもあると思う。
  • 大文字スタートの関数名がつらい。あと家で書く時にメンバ変数とかの名前が無茶苦茶になった。 hoge_len とか hogeLen とか普通に混ぜてしまって困る。
  • ヘンなこと、凝ったことするな、っていうのは人と作業する場合は完全に正しいと個人的には思う。凝ったコード書くのは家でやればだいたい満足するのでわざわざ仕事でやらんでもと思うし。
  • 空気読め。一貫性と臨機応変重要。

って感じだったと思う。

まぁ今も、ほどよい感じで、個人的には不審に思えるルールも無いし、 80文字縛りもあるし、やりやすいなーとおもっている。

(04:37)

_ とらんぽりん

http://d.hatena.ne.jp/hayamiz/20080629/1214745930

なんかこんどかくといいかもとめも。

(04:39)

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

_ kosaki [CodingStyleチェックツールとかはあるんですか? Linuxでパッチ書いてるとcheckpatch.plな..]


2008年
6月
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
1.やぎ(2008-07-22 19:39) 2.kosaki(2008-06-30 17:04) 3.へるみ(2008-06-29 00:30)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h