トップ «前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|12|
2025|01|

ToDo:


2009-03-14

_ 経緯

http://longlong.way-nifty.com/blog/2009/03/post-4cf4.html

ええまさに懇親会の存在を知ったタイミングでは ああなんか別にやるのは気まずいかと思ったのですが。

  • なんかやろうと思う
  • ふぃくすたーず使っていいよとのこと
  • なんかコンテストの参加人数調べてると懇親会やるとか出てきた
  • そのへんどうなんかね?と聞くにまあそんな気にせんでも良さげ
  • じゃあそれで

とかなんとかでタイミング的には すごい速度で会場提供を持ちかけてくださった woさんに感謝的な

先に懇親会に気付いてたり会場提供無かったらヤメてたと思うし

(14:03)

_ rhgsb

あ今日か… 最近色々見落とすなあ

(14:18)


2009-03-13

_ がろあ

http://shinh.skr.jp/h/?HackTheCellPostMortem

693 ってガロア組かっ!とか思ったけどスレの 693 さんのことだとわかった。

予想以上にあっさり人数が増えてびっくり嬉しいのですけど、 残念ながらそろそろ人数的に厳しいかもらしいのでした…

なんかなんかちゃんとやらんとかなあと思う一方、 こんだけ面白そうな人いたらほっといても面白いだろうという予想も。


2009-03-12

_ dmap

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

おもしろい。

def f(x)
  x+1
end

def g(x)
  y=x+1
  y+1
end

p [1].dmap+1
p f([1].dmap)
p g([1].dmap)

g が動くといいんだけどな

(10:07)

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

_ ku-ma-me [それは [1].map(&method(:g)) を改善していくのがよさそうかなあ。 Python だと g だけで..]


2009-03-11

_ 同じじゃなかったと思うんだ

http://d.hatena.ne.jp/odz/20090310/1236698884

#include <stdio.h>

struct Foo {
    int i;
};

void with_paren() {
    Foo* foo = new Foo;
    foo->i = 42;
    delete foo;
    foo = new Foo;
    printf("with paren: %d\n", foo->i);
}

void without_paren() {
    Foo* foo = new Foo;
    foo->i = 42;
    delete foo;
    foo = new Foo();
    printf("without paren: %d\n", foo->i);
}

int main() {
    with_paren();
    without_paren();
}

手元の GCC では同じ結果になりやがったけど、 cl.exe では、

with paren: 5374216
without paren: 0

とかになった。

↑コメントで指摘いただいたけど with と without が逆。ひどい

(00:43)

_ IA-32 Intel Architecture Software Developer's Manual

紙媒体でゲットした。

反応が以上に悪かったけど、 インテルの英語サイトの方にある連絡先に 本全部の注文番号を送って後は ping しまくれば良かった。 ちゃんと通れば1円も払わずにわざわざ海外から送ってくれる。

嬉しいと言わざるをえない。

(10:43)

_ 露出狂

http://hiraitamado.web.fc2.com/mindex.html

まなぶ以外はどんな感じなのかなあと適当に見てみたらいいの見つけた。 実は新都社すごいんじゃないかな

(22:12)

_ 記憶が確かなら

http://d.hatena.ne.jp/odz/20090311/1236775799

POD型は () をつけるとゼロ初期化だったと思うます。

ゼロじゃなくて各メンバに () つけるとかだったかも知れないけど PODなら実質同じだよね。

あと cl.exe もできたバイナリも wine で動かしてます

dmc.exe とか dmd.exe とか bcc32.exe とかも入ってて、 GCC でクロスコンパイルするとかよりこっちの方がラクなんだよな…

(22:16)

_ new なくても

じゃなかったけと思ったけど これだとなんかな…

#include <stdio.h>

struct S {
    int i;
};

void print_s_without_paren() {
    void* i;
    (&i)[-1] = (void*)42;
    S s;
    printf("%d\n", s.i);
}

void print_s_with_paren() {
    void* i;
    (&i)[-1] = (void*)42;
    S s = S();
    //const S& s = S();
    printf("%d\n", s.i);
}

int main() {
    print_s_without_paren();
    print_s_with_paren();
}

まぁなんかしら GCC でもこっちなら movl $0, -0x10(%rbp) とかがあるかどうかが変わる

(22:28)

_ せるげーむ反省会

http://shinh.skr.jp/h/?HackTheCellPostMortem

懇親会は詳しい検討はむずかしいかも、 とのことなのでまぁやる方向でいいんじゃね、 ということに

勝手に書き換えていただけると幸いです。 あと kik さん kodera さん herumi さんは強制参加です。 ぜひ

(23:41)

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

_ bear.mini [関数名および printf() 内のメッセージの with と without が逆じゃないですか? (with_p..]

_ shinh [うわあ逆ですね。ありがとうございます。 こういう話を嬉々としてするから C++ オタはキモいとさげすまれ、アンチ ..]

_ 団子厨 [セルゲーム反省会の一番最後のLarrabeeってなんすかwwww 参加できないと言いましたが内容次第では新幹線のチケ..]

_ shinh [や、なんか深く考えたわけではないのですけど、やはり Cell と言えば「結局今後あのへんの世界どーなんの?」って話は..]


2009-03-10

_ sumb

http://homepage1.nifty.com/herumi/diary/0903.html#9

http://tripper.kousaku.in/20090307.html#p01

思いついてしかるべきだったなあ…と思います。 幸い計数の部分は工夫する余地はあるけどあまり速度に影響しないんですよね… lqr 減らすのがなんだかんだで一番効きそうな気がするけどどうなのかなー

(01:03)

_ けーぞく

http://d.hatena.ne.jp/youz/20090308/1236482522

ぱっとわからない。継続脳が全く育ってないなあ。 後で考える or kinaba 先生の何かをわくてかしてまつ

(02:18)

_ まらそん

一回戦落ち…300位まで通るんだと思ってたんだけど、 250位まで通して後50人はシードってことだったみたいだ。 そうならそうとはっきり書いてよねえ。

http://www.topcoder.com/tc?module=Static&d1=tournaments&d2=tco09&d3=marathon&d4=schedule

こっちにはちゃんと書いてある

http://www.topcoder.com/tc?module=Static&d1=tournaments&d2=tco09&d3=overview&d4=rules&d5=marathon

(10:37)

_ vim.full

http://pc11.2ch.net/test/read.cgi/tech/1173057314/237

よくわからないけど eban さんのご協力のもと できるようになったみたい。

(10:38)


2009-03-07

_ いや

http://twitter.com/kikx/status/1288791976

常識で考えるに kik さんの暴露こそが見たいわけで自分で書いてよ…!

(01:42)

_ TCO Algorithm Qualification Round 3

寝過ごした。

予戦落ちとかウケますね

忘れてた→酔っ払って寝てた→寝過ごした

とか僕の能力を全て出し切った感じである。 その結果が予戦落ちなのだから、まぁ順当な結果なのだと思う。

(01:50)

_ ぼくの村の話

http://www.fukkan.com/fk/VoteDetail?no=3761

復刊されたらしい。 らしいっていうか知らせが来るってことは なんかの拍子でリクエストボタン押したんだろうなぁ。 でも買わないと思うんだな。

読むと成田使いたくなくなるけど、 まぁなかなか使わないのも難しいよねというような。

(01:56)

_ すでに

http://d.hatena.ne.jp/kikx/20090306#1236358887

何言ってるんだという感じだな… いずれにせよ記述ありがとうございます。

(02:43)

_ 100ばい

http://longlong.way-nifty.com/blog/2009/03/hack-the-cell-0.html

そんなに不安定ってなんなんだーという。 単純に少ない数字には倍率が減るって話でもないだろうし…

(10:42)

_ できると言われても

http://d.hatena.ne.jp/kikx/20090306#1236365725

わかんのであった

にんとも…

(10:59)

_ となると

http://longlong.way-nifty.com/blog/2009/03/post-d5ab.html

完敗ですねー。 まぁもともとこいつには勝てんだろ的な人の一人だったので当然な気もします。

まぁいいや。 hack the cell にかこつけて CPU の今後と最適化について僕に教える会を開催したいと思うので、

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

http://homepage1.nifty.com/herumi/diary/latest.html

http://longlong.way-nifty.com/

http://www.f13g.com/blog/

http://garakuta.homelinux.org/~nosuke/diary/

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

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

http://tripper.kousaku.in/

あたりの人は東京近辺にいらっしゃったらとりあえずいかがでしょうか。 2ch の人とかよくわからんけどコメント含めて なんらかの手段で通信がいただけたら考える的な。

知らんけど候補日は 3/21 or 3/28 とかそのへんで。

(14:12)

_ herumiさんにも

実質負けてたってことだろうなぁ。 命令数的に勝ってる感じがない。

http://homepage1.nifty.com/herumi/diary/0903.html#7

まぁワンオブ勝てんだろー候補だし略

あと README の文章破綻ぷりというか説明する気ないっぷりには 色々理由があって主にねむかったとか。

とりあえず僕もカウントしてみよう。

even 1269
xor 530
selb 284
cntb 155
sumb 105
shli 32
a 80
ah 50
ai 1
and 27
andbi 5
odd 1270
stqr 147
lqr 583
lnop 27
shufb 68
rotqbyi 128
rotqbii 283
rotqmbii 32
hbrr 1
brnz 1

見て比較した感じ、

  • なんか cntb いらないらしい。
  • lqr の回数はまぁ減らせるよねー
  • って brnz が dual issue になってねーよひどい…
  • あとさっきの反省から andbi はいらんはず

という感じっぽい。 つか post-mortem のために PS3 欲しいというのは…

(14:30)

_ あと

herumi さん shuffle 使ってなくね? 説。 なにかコード見た感じ rotq と sel だけでやっちゃってそうな… そのへんは微妙に勝ってそう、かな?

個人的には shufb は今回一番萌えた命令だったんだけど。

(14:37)

_ TODO

たまっている

  • bfx
  • ada
  • ps
  • lisp
  • TCC いじり
  • grub いじり
  • thread fest のコード読む
  • ゴルフ場の Brainfuck
  • ゴルフ場

(15:10)

_ さいあん

http://www.kmonos.net/wlog/95.html#_1109090307

あまり理解してないけど、 Cyan の方が shibuya.lisp で return がうんぬん… とか発表されてたので質問して、 たぶん kinaba さんが今書いておられるようなものだと理解してたので、 ちょっとやってみた。

globalVar = 0

hello = ^():
  globalVar = return
  return(0)

x = hello()
print x
print globalVar(x+1)
print "\nDONE\n"

うーん 0 とだけ表示されちゃう。 かえせないってことかなぁ。

retret = ^(): return(return)
x = retret()
print x

とすると #<cont 219f5c00> とか出てくる。

retret = ^(): return(return)
x = retret()
print x()

何も出てこない。

retret = ^(): return(return)
x = retret()
print x()()()()()()()()()

何も出てこない。エラーにならないのもよくわからんが…

なんかしら未定義な感じの動作になってそうだなぁという感じで残念?

http://www.geocities.jp/takt0_h/cyan/doc/ref/about-continuation.html

この説明見るとできても良さそうに思えるんだけどな

(16:33)

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

_ kodera [こんにちは。会合面白そうですが、Fixstarsさんの方でも何か 考えられている様なので、ちょっとその様子を見てから..]

_ herumi [ほんとですねー>shuffle 殆ど何も考えてなかったのがばればれ.]

_ 団子厨 [痛い子でサーセンwww 西日本の人間なのでまたの機会にさせていただこうかなと]

_ safii [誘っていただいてありがとうございます. 26日に東京に引っ越すので,28日なら参加できそうです.]


2009-03-06

_ うぐー

今の方針じゃ埋まらんだろうと思ってたのに even pipeline 埋まった…手詰まり感が。

うーむまあこれは投了だろうなあ。 予想よりはよくなったけどなんかもうちょいあったんやないのという感はいなめない。 あと kik さんが余裕釈々すぎて腹が立ちますね。 あと KLab が入賞宣言してるのも腹が立つ。

http://dsas.blog.klab.org/archives/51368711.html

うーむ自信があるのはすごいなあ。

(01:46)


2009-03-04

_ うーむむ

80倍は越えた。 えらい手間がかかりそうな変更はそこまで手間ではなかったけど、 軽く100倍行くほど良い変更ではなかった。

適当にやりゃ90はまぁ越えるだろう。 100は、うーんどうかなー

(20:37)


2009-03-03

_ んーむ

お話にならない感じだなあ。

とりあえず提出した時よりはよくなっていて 66 倍程度で、 まぁ適当にやれば 70 倍は越えると思う…が、 それじゃ全然お話になってないよなー。

なにかブレイクスルー的なものがあるといいんだけどなあ。 というか大幅に短くなりそうな部分があるんだけど、 ゆっくり考える時間が無いとできなさそうなんだよなー

そもそも今のコードより提出時のコードの方がはるかに良いので、 この程度の中途半端な更新で再提出する気はおきない。 諦めるかなーぎぎぎ。

(00:16)

_ メッセージ+環境

http://d.hatena.ne.jp/nagachika/20090302/oo_vs_lambda

あーうーわかりにくくてすいませんという。

msg[obj][param1][param2] と書いて良いのであれば まぁ Ruby はクロージャあるのでできるのですけど、 obj.msg が msg(obj) の syntax sugar にしか見えない瞬間がある 僕としては、逆にクロージャを OO の記法でやるような考え方/言語はないのかなぁとか思ったのでした。

書いていただいた max も処理まとめるという意味では もちろんそれで良いのですけど、 普通のクロージャになってしまってるので 最後の記法が evens.my_max とかになっていない点で 僕の妄想にはマッチしてないかなぁとかいう。

あと、妄想で「無いのかなぁ」と思っただけなので、 別に素晴らしい考え方だとかは思ってません。 むしろメッセージに環境突っ込むと その後で多態的なのはどこ行くんだとか、 マルチプルディスパッチ的なのはどうなるんだとかそんなこんな。

(21:14)

_ うーん

もにょってたら予定よりあっさり70倍は越えた。 80までは適当にいじってりゃ行くと思う。

なんかちょっと大袈裟に悪い方針だったことに気付いたので直したいんだけど、 えらい手間がかかりそうで困る… でも100倍は見えなくもない位置な気がするなぁコレ…

(22:29)

_ そうそうこういうの

http://twitter.com/kinaba/status/1273532650

(23:32)


2009-03-01

_ TCO

酔っ払ってても予戦突破くらいはできるだろうと思っていたけど、 寝てたら無理だとわかった。

マラソンの方は適当に書いたコードで100位くらいだから安全圏だろう。 ほっといてもたぶん大丈夫。

(13:38)

_ メッセージ

1引数関数しかないけど、 1つ引数を取って「1引数取ってなんかする関数」を返す関数を 書ければ2引数関数みたいなもんだよね、 というような考え方があると思う。 未だにわかってないのだけど、ラムダ計算とかいうやつがそれなんだろうか。

でまぁ、1引数しか無いのであれば、 OO ワールドはとても綺麗なんですよ。 なんというか OO のたまに嫌な点の一つとして、

obj.msg(param1, param2)

とかの引数が左右に散ってる印象を与える時があるんだよな。 特に param1 のメンバ関数でもいいよなぁ…というような時。

でも1引数だけでいいのなら その問題は起きなくて素晴らしい。

param2.(param1.(obj.msg))

全く美しくないな…

obj.msg は obj を保持したメッセージを返している、 クロージャ的なメッセージ。 param1.(obj.msg) も同じくクロージャ的なメッセージで、 そのメッセージを param2 に適用して始めてなんか実行されるというような。

まぁなんかだめだめな感じしかしないけど、 OO のメッセージに環境持たせるって考え方はないのかなぁとかたまに思うというはなし。

(14:24)

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

_ nagachika [複数の引数を取る関数を『「1引数取ってなんかする関数」を返す関数』に分解することならカリー化という技法ではないでしょ..]

_ shinh [分解する技法というより計算パラダイムとしてそういう考え方をラムダ計算っていうのかなぁとかそういう疑問でした。 ht..]


2025年
1月
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 10:42) 2.団子厨(2014-05-24 10:42) 3.shinh(2014-05-24 10:42)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h