トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

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:


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-27

_ 入力の方

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

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

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

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

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

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

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

(02:39)

_ ぼえー

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

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

(20:18)

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

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

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


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-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-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-22

_ 正規表現JIT

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

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

(16:29)


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-19

_ ゴルフコンペ

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

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

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

(01:23)


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-17

_ あと

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

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

(00:11)

_ 不思議だなと思った

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

(00:13)

_ つか

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

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

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

(02:01)

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

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

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


2024年
11月
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