トップ «前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:


2006-09-21

_ 単語って

たくさんあるんだなあ

http://www.tangoriki.com/

(00:19)

_ ゲストが喋ってない

http://jp.rubyist.net/magazine/?0016-Hotlinks

それはいいとして、 Symbol#to_proc すばらしいじゃん…と。 なんでやろ

(01:08)

_ 宇宙消失

YTさんが書いてたような…と思ったのと安かったので これに決めた。

(02:00)

_ TSS

RSSとかあると便利なのかな…

(02:04)

_ sed で

何もデータが来てない時に処理ができるのだろうか

(02:41)

_ やりたいこと

  • sed
  • stdin
  • camlp4
  • ocaml

(03:58)

_ はじめてのしきがページランク高くてうざい

しね☆!!!11111123579111317192329...星星星星

(04:02)

_ 9は違いますからっ…

落ち着け…フィボナッチ数列を数えてもげもげ

1,1,2,3,5,

memoizeされてないので止まったとか

そうじゃなくて消してから気付いたけど バックエンドを sqlite にした hiki って 手元に置いてあったっけ…

(04:04)

_ 今日のワンライナー

cat **/*.td2 | ruby -e 'm={}; ARGF.each do |l| if l =~ /\((\d\d):(\d\d)\)/ then; m[$1] = m[$1].to_i + 1 ; end; end; m.keys.sort.each do |i| print "#{i} #{m[i]}\n"; end' > ~/timeplot.dat
gnuplot =(echo -n "set term png \n plot 'timeplot.dat' smooth cspline \n") > timeplot.png

timeplot.png

つまり朝は寝てる可能性が高いのだろうか。

夜更しさん→寝る→起きる→通学→通学中に考えたこと書く→書くことなくなる

とかそんな

(05:55)

_ 標準入力を実行

なんとなくひかれるものがあったので 作ってみようとしたが、 libbfd 自体がファイルを前提としてやがるなぁ。 seek できないとダメとか。

(08:04)

_ 思うにねむい

マイナスイオン米というのがあるらしい。

http://www.akitakomachi.co.jp/minusion/

このひとが指導したらしい。

http://www.suga.gr.jp/

もともと空気中にはマイナスイオンとプラスイオンの2つがバランス良く存在
しています。それが近年の大気汚染・さまざまな電化製品・OA機器から発生す
る電磁波・新建材などの影響でプラスイオンが増え、バランスが崩れた空気環
境となりました。マイナスイオンは森林や滝壺付近に多く発生するイオンで、
自然の生み出した「空気のビタミン」と言われており、このマイナスイオンの
環境を造る事で、ようやく本来の空気中のバランスが整います。マイナスイオ
ンの効果・効能については正確に明らかにされておりませんが、21世紀の健康
問題や環境問題の鍵を握る「秘密のエネルギー」として専門家の間で積極的な
調査・研究が行われております。

なんか俺が見たのは抗酸化作用があるとかなんだけど。

うーん。

http://www.1htsn.com/sannsei.html

100年前とかを引用するのはニセ科学の特徴らしい。 つかこのサイトが「酸性 酸化」でぐぐって出てくるのは なにごと。

「アルカリイオン水でマイナスイオン(電子)を供給」するのかぁ。 たくさん呑んでビームとかうてるようになりたいな。

どうでもいいけど俺は酸性と酸化ってなんだっけとかいうレベルです ごめんなさい。

http://ja.wikipedia.org/wiki/%E9%85%B8%E5%8C%96%E9%82%84%E5%85%83%E5%8F%8D%E5%BF%9C

いやそれはわかるんだけど、 いやうーんとわからんというか忘れたのは えーと。

何を忘れたか忘れた。

(12:56)

_ CSS変えたいな

あとWeb興信所

(13:05)

_ HPM

-1点の調査をしたいな

(13:37)

_ focus変えない

Window switch を作りたい。 いや focus だけ変えるのか。

(13:42)

_ また

印刷機にきらわれてる

(15:55)

_ 記憶力テスト!

たしか g++ の name mangling は 2.x => 3.0 と 3.2 => 3.3 と 3.3 => 3.4 で変わった!

(18:21)

_ 全然違った!

あと Debian だと複数バージョンのバイナリ入れられると思いますが

(18:24)

_ 自転車

取りに行くの忘れてたなり

(18:25)

_ こあ

(18:43)

_ ぼくは

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

ビクっとしちゃったくせに、 さもギリギリ間に合わなかったかのように ボムボタンを押すのが恥ずかしい。

(20:21)

_ D スレで似たような話題が

http://d.hatena.ne.jp/kurimura/20060908#c1157902780

僕の方が短かった。えへん。

(20:31)

_ よくわからないけど

無制限で配布→見向きもされない

より、制限があるが解除できる方が 客が増えるという戦略とか。

(21:59)


2006-09-20

_ PKU1008

それなりに苦労して作った

char*n[]={
    "imix","ik","akbal","kan","chicchan","cimi",
    "manik","lamat","muluk","ok","chuen","eb","ben",
    "ix","mem","cib","caban","eznab","canac","ahau"
};
main(d,y,m){
    for(puts(gets(y));~scanf("%d.%s%d",&d,&m,&y);
        printf("%d %s %d\n",d%13+1,n[d%20],d/260))
        d+=y*365+20*(
            m%21?m%7?m%99?m%9?m%80?m%24?m%8?m%5?m%4?m%13?m%17?m%59?m&20?m&10?
            m%6?
            m%2?
            m%9-4?14:7
            :3
            :m%5-4?10:2
            :18:16:11:1:13:4:12:15:5:0:6:8:9:17);
}

が通らないみたいだ。悲しいね。 リトルエンディアンだからいいと思うんだけどねぇ。

というかエンディアンもクソもなく通ってなさげ。 おっかしいいなーーー

(01:08)

_ tcc -run で運用してるとか

http://blog.livedoor.jp/nipotan/archives/19105951.html

(02:49)

_ ぼんやり

メシを買いにでかけたが、コンビニで気付いた。 夕飯はすでにたべていた。

しかしたらすぱが喰いたかったので買ってしまった。

たらすぱはおいしくなかった。

あたためる時、「レンジの使用はセルフです」と書いてあった。

うちのエレベータは2基ある方と1基あるところがあって、 2つある方は1階と9階に、1つの方は1階に止まっていると思う。 1階で待機するのは合理的だとして、なんで9階かなと思い。 12階だてなので、一番待たせる平均時間の少ない場所は 8階か9階のどっちかだと思う。 この中で9階が選ばれる根拠はというと、 1階までに下りるワーストケースを短くしてるのかなぁ (9-12-1と8-12-1の経路を比較)、 とか思ったけど、ただ適当なだけかもしれないし、 はまじくんのために気をきかせてくれてるだけかもしれない。

2つの方は少し遠くて、1つの方は近い。 上がる時、 昼だと2つの方を利用した方が待ち時間少なめだけど、 夜なら1つの方はたぶん1階に戻ってきてるだろうと 思って1つの方に行くわけだけど、 どう見ても6階で待機してて、これはなんなのかなぁと。 実は自動で1階には行ってなくて夜は下りる人が 上がる人より多いから勝手に下に行ってた説は 棄却したい気分というか昼も1階でよく見る気がするので、 なんらかの理由で移動した後はしばらく待機するとして、 それは次に呼ばれる可能性があるので、 逆方向に走り出したけどやっぱ戻るぜー みたいなマヌケな事態を回避するために、 一定期間待機してしばらく客がいなかったら1階で待機、 みたいな戦略かなぁとか。

とかいうことを年中考えてるのは 思考力の訓練になるとか盲信しているけど、 それはどっちかというと ただの自分がやってることは悪くはないに違いないと とりあえず思ってしまう、プログラマによくありそうな やつかもしれないなぁとも思う。

なんにせよ自転車こいでる時とかは やめないと死ぬと思う。

(03:08)

_ sedで

ループが書けるようになってしまったよ…

(05:33)

_ bf2asm

l=65;*s;
main(c,v){
    s=v;
    for(puts(".text\n.global main\nmain:pushl %ebp;movl %esp,%ebp;movl %esp,%esi;subl $999,%esi");
        c=getchar(),~c;){
        c-62?
        c-60?
        c-43?
        c-45?
        c-44?
        c-46?
        c==91?
            printf("%cB:cmpl $0,(%%esi);je %cE;",l,l),
            *s++=l++
       :c==93?
            v=*--s,
            printf("jmp %cB;%cE:\n",v,v)
            :0
            :puts("pushl (%esi);call putchar")
            :puts("call getchar;movl %eax,(%esi)")
            :puts("decl (%esi)")
            :puts("incl (%esi)")
            :puts("decl %esi")
            :puts("incl %esi")
            ;
    }
    puts("leave;ret");
}

適当に書いておく。

(06:58)

_ 上のはバグってるよー

せめて addl $4,%esi だろうとこのバカ。

(09:23)

_ もうエルフヘッダも知ってるわけだしね

うーんなんか直接バイナリ吐くとかもできそうな気がするなぁ。

と思ったけど jmp の距離を計算できないか。

(09:26)

_ 本当にアドレス計算ができないかというと

なんかできる気もするなぁ…

(09:29)

_ 口内炎が痛くて

sed のことしか考えられない

から論文進んでません

という言い訳はどうか

(11:56)

_ しかし

Camlp4 すばらしすぎるなぁ。 はよ覚えねば。

しかし sed が誘惑してくる

というか論ぶ

(18:10)

_ ときかけ

が面白い理由を考えてみる会。 いわゆるネタバレなのでなんか消しておこう。

  • 妹がかわいい

(18:31)

_ それだけじゃあんまりなので

今度は僕が気に入らなかった点を書いてみよう。 どうでもいいけどw3m使いは普通に見れるね と思ってコメントにしてみるとテスト。

(18:50)

_ あーそりゃそうだなー

mmap

(23:03)

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

_ Gus [>w3m使いは普通に見れるね あとRSSに普通に現れました。 あとICFP 一人で30th おめでとうございます。]

_ Gus [うお、ICFPはnamasuteさんがいたんですね。表を見てませんでしたすみません。]

_ shinh [あーなるほどRSSですかー。一応適当に中身消しておいたとか。あと30thはめでたいんでしょうか…そちらこそ13位おめ..]


2006-09-19

_ ちょうど10歳下が

Haskellで一応使えるFORTH処理系を書いてしまったという事実

(01:17)

_ webにある場合

-dtypesの出力も置いておけば JSで綺麗に表示させるとかほげほげ。

(03:26)

_ メモ

http://pc8.2ch.net/test/read.cgi/tech/1158259643/47

obj method(arg1, arg2)

みたいな時の obj と method が実質演算子になっているというのと、

つかふと思ったけど Io の 引数書かないでおいてほげほげーってヤツは あれまさに呼び出し側から見えない lazy だなと。

(03:37)

_ あれ

http://www.jmuk.org/d/?path=2006/09/18#d18t01

D の lazy ってメモ化とセットになってるような意味での 遅延評価をやらせるための機能なんだろかとふと。

(03:40)

_ メモ化をメモ化

すれば再帰関数をなんとかできるんじゃないか… とか思ったんだけどなんかダメな気がする。

class memo_t(T) {
    alias rettype!(T) RT;
    alias argtype!(T) AT;
    this(T t) {
        fp_ = t;
    }
    RT opCall(AT a) {
        if (a in memo_) return memo_[a];
        return memo_[a] = fp_(a);
    }
private:
    T fp_;
    RT[AT] memo_;
}
memo_t!(T) memo(T)(T t) {
    return new memo_t!(T)(t);
}
class memo_mt(T) {
    this(T t) { m_ = memo_memo_(t); }
    rettype!(T) opCall(argtype!(T) a) { return m_(a); }
    static memo_t!(memo_t!(T) (*) (T)) memo_memo_;
    static this() {
        memo_memo_ = memo(&memo!(T));
    }
    memo_t!(T) m_;
}
memo_mt!(T) memo_m(T)(T t) {
    return new memo_mt!(T)(t);
}

ちなみにテストはされてない。

(04:55)

_ というか反省しなさい!

  • 送ったメールはスパム
  • 7時とかに起きたのに遅刻
  • 待合わせ場所を見てない(メール3通も気付いてない)
  • 言おうと思ってたけど言い忘れてたことが散見
  • 何百度と通ったであろう道で迷う
  • 眠い

なんかロクでもないじゃないか

(05:24)

_ let web f =

print_string "Web"; ikunai () in web ikunai

と言いつつメモ

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

つまりメモ化に限らず 再帰関数に別の関数をかますには いじりたい関数がすごいいい形をしてるか、 あるいは duck typing な感じの 型付けの無い言語じゃねえとなぁみたいな。

でも D はなんとかできる気はする。 あ、 functor を基底にすりゃいいのか。 つーか Boost.function がそれだっけ覚えてにええ。

(14:04)

_ そろそろかなあ

http://icfp06.cs.uchicago.edu/schedule.html

(15:01)

_ PKU

http://dem.dyn-o-saur.com/ が最初から解いてくとか 始めてたので僕もやっている。 コードはほどほどに縮めつつ。

今1008まで。 1008縮める方針は想像つくけどめんどいなーとか。

1005はひどい事実 (http://d.hatena.ne.jp/Ozy/20060323#c1158512539) があるぽいから123Bとかになってるのな…

1007はトップみたいだ。 1001もCだとトップ。 どっちも適当だから誰かがやればすぐ追いつかれるだろうな。

(21:29)

_ 世の中には

  • 速いマシンで速いコードを書くことに価値がある人間
  • 遅いマシンでも速いコードを書くことに価値がある人間

がいるんだけど、前者の方がロマンがある。 でも実はそんなことはどうでもよくて、 なぜかというと、

  • 速度とかどうでもいい人間

が大多数だから

(22:41)

_ 一方僕は dumper を使った

みたいな。

http://d.hatena.ne.jp/shinichiro_h/20051225#1135499616

ごくたまに存在を思い出して使うけど割に便利なこともあったりはする。

(23:55)

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

_ konn [制御構文とコメントが付いてないからまだ使えませんよ!]

_ shinh [FORTHの制御構文ってなんかすごいキモかった気がしますよね。]

_ konn [キモいです。条件の後にIFがきて処理の後にTHENがきます。あり得ません。 まあループだけはまともです。]

_ Ozy [> ひどい事実 結構いろんな問題でショボいテストケースがあります。いずれrejudgeで消えてくれることを願います・..]


2006-09-18

_ 怒られチッタ

i@u ~/test/ruby> cat fun_cl.rb
def hoge
  class C
  end
end
i@u ~/test/ruby> ruby fun_cl.rb
fun_cl.rb:2: class definition in method body

(00:04)

_ Haskellのバックドアも

心動くような。

k.inabaさんの説明 http://www.kmonos.net/wlog/65.html#_1549060908 で突然 unsafePerformIO が素晴らしいものに思えたとか。

Haskell はもう <- が。まぁ僕は

23:47 >i< いやHaskellはパズルゲームじゃないの

とか言ってるわけだが。

結構面白いゲームな気はしますけどね。 無限リストゲームとかポイントフリーゲームとか。

あ、

23:50 >i< Haskellはパーサを書く場合のみ実用品ですね

とも。

IOモナド一個も出てこなくて ghciで実行結果確認するようなコードが一番こう Haskellいいなぁと思うとかなんか。

(04:02)

_ DSL

let (>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.) = print_endline "Hello world!"

とか書こうとしたけどダメだった

(11:56)

_ やわらかHaskell塾

map (\x -> x*x) [1,2,3]

リスト内包表記になおして下さい!

[x*x | x <- [1,2,3]]

みたいなのを解いていく。

(12:05)

_ じゃんけん2.0

Ruby vs gawk と Rotate が同時に負けてるのは当然だよね… gawk は uniq かかってるんでしょ…

(13:30)

_ heap

実装したことないデータ構造があるのはよろしくないので実装しておいた。

h[10000];
s,t,n;
main(i){
    for(i=100;--i;)
        for(h[n=s++]=rand()%100+1;h[n]>h[n/2];n/=2)
            t=h[n/2],h[n/2]=h[n],h[n]=t;
    puts("before");
    for(i=0;i<s;i++)
        printf("%d\n",h[i]);
    puts("after");
    for(;s--;printf("%d\n",h[0]))
        for(h[n=0]=h[s];
            i=n*2+(h[n*2]<h[n*2+1]),i<=s&&h[n]<h[i];n=i)
            t=h[i],h[i]=h[n],h[n]=t;
}

ヒープソートってこんな感じだよね。

(15:01)

_ camlp4 には cpp の # があるのか無いのか

それが問題だと思う。

(18:00)

_ 特異メソッドは特異らしい

http://jp.rubyist.net/magazine/?0002-WCNewsPaper

(18:03)

_ cpp

http://alohakun.blog7.fc2.com/blog-entry-459.html

普通にこういう話じゃないのかしら。

i@u ~/test/ocaml> cat maj.def
DEFTSUHAI(0, ton, "東")
DEFTSUHAI(1, nan, "南")
DEFTSUHAI(2, sya, "西")
DEFTSUHAI(3, pe, "北")
DEFTSUHAI(4, haku, "白")
DEFTSUHAI(5, hatsu, "撥")
DEFTSUHAI(6, chun, "中")

i@u ~/test/ocaml> cat cpp.ml
#define DEFTSUHAI(n, e, s) let e = n;;
#include "maj.def"
#undef DEFTSUHAI

#define DEFTSUHAI(n, e, s) s;
let id2str = [|
#include "maj.def"
|];;
#undef DEFTSUHAI

let _ =
  print_endline id2str.(ton);
  print_endline id2str.(haku);

i@u ~/test/ocaml> gcamlopt -pp "cpp -P" cpp.ml
i@u ~/test/ocaml> ./a.out
東
白

(20:31)

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

Before...

_ 晩ごはん [抽象構文木上では識別子は文字列ですので、「^」で連結すると良いと思いますです。 >|| #load "camlp4o..]

_ 晩ごはん [あー、しまった。上のコード、CVS版のOCaml(Camlp4)じゃないと動かないです。]

_ shinh [うあーなんでもアリですねぇ。しかしどうもうちだと CVS 版 (3.10+dev8 (2006-06-26) と言わ..]

_ 晩ごはん [上のコード、コンパイルするには END;; の前後でファイル分割しないとです。すみません、すみません。ちゃんと書かか..]

_ shinh [あー分割しなきゃいけなかったのですね。よく考えればあたり前でした…そのアドバイスのおかげでとりあえずコンパイル&実行..]


2006-09-17

_ なにやら衝撃的なことが…

i@u ~/test> ./hello\ world\!                                       ~/test 18:21
                            ↑今カーソルがここにある

ここでリターンをポチっとなー。

i@u ~/tsst> ./hello\ world\!
i@u ~/test>                                                        ~/test 18:22

いくら結果不定とはいえそんなとこに出力する子は始めて見たよ…

test が tsst になってるという話だが

(18:23)

_ コンパイル終わらなかった経験

確か bjam とか終わらなかったような。 bjam 使った物体が終わらなかったような気も同時に。

(18:30)

_ 普通にあったぽい

http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_31.html

C-u C-SPC

(18:39)

_ gbeta

http://www.daimi.au.dk/~eernst/gbeta/?

JSでは全くリンクが辿れない

(18:42)

_ JSじゃねー

w3m ではまったく

のまちがい。はよねろ。

(18:42)

_ MAXQ

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

あーハーバードアーキテクチャなのかー。 なんかそらそうかチックだけどなるほどみたいな。

http://japan.maxim-ic.com/appnotes.cfm/appnote_number/3222

んでこれかー。

3222-03.gif

すげーすげー

すげー

(18:52)

_ スパム撃退法兼誤スパム認定防止法

メールアドレスと一緒に、スパム認定されないための キーワードを書いておく。 例えば hamaji _at_ nii.ac.jp (浜地を含まないメールは全てスパム扱いします) とかそんな感じとか。

(19:26)

_ つかcfmってなんやねんと思うと

http://www.creators.ne.jp/dictionary/extension/c.html

ほえー。 組み込み屋が使うようなものなのだろうか…

(19:32)

_ 失業保険をもらうために就職する

というアイデアはすばらしいなぁと。

http://www.1sitsugyou.com/

(19:44)

_ 御社を志望した理由は

失業保険が欲しいからです

(19:46)


2006-09-16

_ フェルマー

http://d.hatena.ne.jp/nuc/20060902/p5

どう応用してどういう結果が出たんだろ…

(03:31)

_ と、いうか

なんで7*7*7でできるんだろ。

(03:34)

_ サイズ1の立方体がからむ場合は

13^3 = 1^3*955 + 3^3*46
14^3 = 1^3*752 + 2^3*249
28^3 = 1^3*960 + 8^3*41

これ以降はなんか全然見つからん。

(03:47)

_ 10000^3 までの範囲にはたぶん

無い…

眠いかミスってたりとかするかもだが。

100000はやってみるもなかなか帰って来んな。

(03:51)

_ ここまでブルートフォース

したのはすごいなぁ…

http://d.hatena.ne.jp/nuc/20060902#c1158334826

(03:51)

_ u3

謎のダウン。ukが生きてるのにu3だけとか不審すぎ。

  • アタック受けたとか
  • 普通に死にかけとか

(10:36)

_ Python

http://d.hatena.ne.jp/shinichiro_h/20060910#1157819458

誉めポイントを書き忘れてたから追記した。

(12:34)


2006-09-15

_ ckpt

http://www.cs.wisc.edu/~zandy/ckpt/

あーこれ undump だ…

(00:06)

_ rlwrap が便利すぎるわけで

うーん。 あー。

なんか頑張れば gets とかそのへん hijack すれば 自動的にできないかな。

(00:55)

_ OCaml

なんか書いてて楽しいんだよなぁ。 なんでやろ。 ある程度理由はわかるが。

  • 着実に進む感じ
  • あんま慣れてない
  • 再帰は楽しい
  • 副作用が書ける
  • option型がいい、というかパターンマッチの良さがやっとわかった
  • やっぱ簡単なプログラムだと型書かんでいいのはいい
    • というか型書かずにプログラム書ける気しないとおっしゃってた k.inaba さんはややこいコードばっか書いてるのでわ、とか。

でもデータ構造の作り方がイマイチよくわからん。 ていうか OO 以外のデータ構造の作り方できんというか。

んでなぜか麻雀の上がり判定など。 もっと面倒かと思ってたんだけど案外簡単なんだな。 syuntsu がひどいとか List.append は遅いらしいとか色々あるけど。

http://shinh.skr.jp/t/agari.ml

あとは役の判定と点数計算とシャンテン数計算かねー。

(02:04)

_ プロファイル取ってみた

camlPervasives__$40_166 ってなんやねん。

time   seconds   seconds    calls  ms/call  ms/call  name
22.22      0.06     0.06   592016     0.00     0.00  camlPervasives__$40_166
18.52      0.11     0.05  1271000     0.00     0.00  compare_val
 7.41      0.13     0.02   238000     0.00     0.00  camlAgari__v2p_93
 7.41      0.15     0.02   135005     0.00     0.00  camlList__sort_295
 7.41      0.17     0.02      581     0.03     0.03  caml_oldify_local_roots

(02:27)

_ ref への代入じゃないかなとか予測

(02:30)

_ ハズレだった

(02:37)

_ たしかに

agari_patterns というかその inner に一瞬型書いた記憶が。 というのはコンパイルエラーの意味がよくわからなかったので… たしか

let rec inner te headed (cur : pai list list) =

とかとあとどっかもう一箇所入れた気が。 なんとなく1つだけ型残ってるのが気持ち悪かった上に 一度コンパイル通っちゃったらもう別に型いらないよなぁ とか思って消しちゃったわけですが。

(12:46)

_ ふつける読書会

ぬーん行きたかったなぁ。 最近確実に予定にかぶってる。

(12:47)

_

type yaku = TSUMO | RICHI | IPPATSU | PINHU | TANYAO | IPEKO | HAKU | HATSU

とか書き始めて思ったけど、 これはダメな気がする。

だって enum みたいなもんですと言ってるけど数値にできないような。

| TSUMO -> "門前清自摸和"
| RICHI -> "立直"

みたいなのは型安全だろうがなんだろうがなんかイヤだ。

type tsuhai = E | S | W | N | H | T | C

もダメだなぁと思いながらやってたわけだが。

範囲型か。 Ada がえらいのか。

(13:05)

_ というより

普通の整数でいいんだけど。

僕大人だから範囲外の数値入れたりしないよ。

(13:06)

_ ボク大人だから!

# type tsuhai = E | S | W | N | H | T | C;;
type tsuhai = E | S | W | N | H | T | C
# (Obj.magic T)-(Obj.magic E);;
- : int = 5

こうしてもいいよね!

(13:36)

_ ssh

開けるの忘れてたや

(14:42)

_ 学術総合センター

National-Center-of-Science らしい。なんでや

(14:46)

_ PKU1001

http://acm.pku.edu.cn/JudgeOnline/problemstatus?problem_id=1001&orderby=clen&language=1

多倍長処理とかめんどいね。

(18:27)

_ ぜんぜん

やるきおきない。

(18:43)


2006-09-14

_ shinh.dyndns.org

ふっかつ

何をもって復活と言うのかは忘れたけど、 SVNは動いてるくさい。

(00:12)

_ x86_64

shinh@cf-amd64-linux:~> cat hoge.c
#include <stdio.h>
void hoge() { puts("hoge"); }
shinh@cf-amd64-linux:~> gcc -shared -o hoge.so hoge.c
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld: /tmp/ccaYZHDk.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/tmp/ccaYZHDk.o: could not read symbols: Bad value
collect2: ld returned 1 exit status

そういうもんなんか…

(00:47)

_ よーわからんが

http://shinh.skr.jp/m/?date=200503

あたりが表示できんくなってたのでパッチ。

defaultio.rb の

                                               diary = eval( "TDiary::WikiDiary::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" )
                                               #diary = eval( "#{style( style_name )}::new( headers['Date'], headers['Title'], body, Time::at( headers['Last-Modified'].to_i ) )" )

よーわからんが動く。

(01:28)

_ あー

x86_64 が PIC だらけになるのはわかるけど、 OSX もかー…

http://d.hatena.ne.jp/w_o/20060913#p3

(01:30)

_ すごい面白かった

> ここらへん

さてなんか2つにわけた理由というのは 今はもう正確に思い出せないけど今現在の理由としては

  • はてな重い
  • はてな重い
  • SNRを分けると書きやすい

まぁみっつめ以外はどうでもいいとして。 どうでもいい僕の日常とか見たい特殊な人は こっち見てもいいよ でも基本的に技術的に面白いことあったら はてなの方に書くよ的な。

どうでもいいけどはてなアカウント二つ操作するのは とてもめんどくさそう。

まぁこういうメモをポンポン置けるのは便利

(04:13)

_ でも最近

500出て弾かれるんだよな。

500出た場合は再送するように メールフィルタの方でやっておくかなぁ…

(04:14)

_ おお

本当に あたらしいのが ある

http://packages.debian.org/unstable/libdevel/libestraier-dev

(04:18)

_ 斜陽

に反対する人がいるのかー

http://d.hatena.ne.jp/yaneurao/20060913#c1158168608

(04:20)

_ いい加減マジメに追ってみるといい

僕はインストラクションセットとか見てても何もわからん。

shinh@cf-amd64-linux:~> cat hoge.c int main() {

 puts("hoge");
 puts("hoge");

}

以下略。

なんだ普通じゃん。つーことはコードのバグだ。 オケオケ。

jmpq *12345678(%rip)

みたいな命令は、 12345678 は単なる 32bit の物体で、 実行前にリロケーションされるんだけど、 その先に 64bit のアドレスがえーと

0x500820 <_GLOBAL_OFFSET_TABLE_+16>:    0x955610e0      0x0000002a

まぁこんな感じで置いてあるので、 0x0000002a955610e0 に飛ぶ… って普通に間接ジャンプしてるだけじゃん。

(04:50)

_ 勝手に決めてるよ!

> 9.17

(04:52)

_ スタックを喰いつぶせー☆

int main(int argc, char *argv[], char *envp[]) {
    int i;
    char buf[4096];
    void *fp = fopen("/proc/self/maps", "r");
    while (fgets(buf, 4095, fp))
        printf("%s", buf);
    for (i = 0; i < 10000; i++) {
        printf("%d %p %p\n", i, argv[i], &argv[i]);
    }
}

なんか毎回全然違うな。 またなんかセキュリティ関係でありがたい^H^H^H^H^H余計なことされてるんだろうか

普通と逆の表現のしかたをしてみた

まぁわかることはえらい広いということだなぁ。

(05:10)

_ 810

(15:41)

_

驚くほど無くなってた。

15万とかそのくらい。

先月の給与無いこと考えるとまぁしばらくはもつが。

TODO: 節約

(18:07)

_ OCaml

関数内で、ループのために let rec な関数を もう一個書くことがよくあるけど、 これにつける名前で悩む。 元の関数と同じ名前が一番自然だったりしてね。

k.inabaさんが Python でやってた _ はいいなと思ったけど OCaml にはおこられた。

  • hoge: 長い
  • x: 変数とかぶりそう
  • 関数と同じ名前: 混乱しそう、長い
  • 関数と同じ名前に _ をつける: 長い

むー?

http://ocaml.jp/archive/document/intro1.html

iter ねぇ…

むー。

__ はいいらしい。 むしろなんで _ があかんねん。

# let _ x = x;;
Syntax error
# let _ = 1;;
- : int = 1

http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4-05w/mltext/ocaml003.html#toc6

ここの変数の名前にだめと書いてあるなぁ。

_' とか…

(18:45)

_ むしろ

lazy でバグ出す関数書くの難しいような。

そりゃ故意にやればできるだろうけどね…

(21:24)

_ 何故か鍵が見つからなくて

2000円奪還失敗… ついでに5000円寮費無駄に払ったくさい。

なんでやねん。

(21:25)

_ まぁ

ロクでもないことばかりだけど気分が悪くないのは 好きな季節だからだろう

(21:26)

_ あれ

OCaml のコンストラクタって関数として扱えないのかしらん。

# type t = A of int | B of int;;
type t = A of int | B of int
# let x = A;;
The constructor A expects 1 argument(s), but is here applied to 0 argument(s)

(22:17)

_ variant の比較

# type t = A of int | B of int;;
type t = A of int | B of int
# a = A 1;;
Unbound value a
# let a = A 1;;
val a : t = A 1
# let b = A 1;;
val b : t = A 1
# a == b;;
- : bool = false

そうなのね… んーと。

(22:55)

_ ファッキュー

http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/traps.html#equality

だった。 つーか忘れすぎ。

(22:56)

_ さいき

let x =
  let rec x' v =

とかが良さそうだわー

(23:36)


2006-09-13

_ マジレスしてる人はいるだろうか

http://tinyurl.com/ghfov

(02:22)

_ C言語でリフレクション入門

なんか入ってないと気付く。

と思ったらイントロに行ってたらしい。

あとセクションうんぬんはなんかWebに書こうかなぁ…

(02:46)

_ SKK

SKKというか、PCで文字入力するのに慣れすぎてるせいだと思うんだけど、 バイナリと手で書こうとして、bin と書き始めていた

SKKだと /binary なので

(02:51)

_ それC

それPlaを見てて、

「Wiki を Ruby で作りたいんですが〜」

「それ C でもできるよ」

「C でのやり方を聞いてるんじゃないです!><」

っていうのを考えてたんだけど、 そのそれCの部分で適当に C で 7行くらいで書いた Wiki とか はろうと思ったんだけど、 Wikiめんどくなってやる気失せた…

正規表現無しで作るもんじゃないなぁ…

(04:12)

_ writeelf

ていうコマンドを思いついた。

実装めんどいけどやってみるのも面白いかなぁ。

(13:59)

_ きもえ

(15:46)

_ 999でダメなら

おっしゃる通り99にすれば、 使うバッファ狭くなりますしセグらないと思いますよ。 envp壊しまくりでしょうから、環境変数の数に依存してると思います。

i@u ~/test> cat tail.c
d=10;main(i,b){for(;gets(++i%d*99+b););for(;d--;)puts(i++%10*99+b);}
i@u ~/test> gcc tail.c
tail.c:1: 警告: データ定義が型や記憶クラスを持っていません
/tmp/cciy87bP.o: In function `main':
tail.c:(.text+0x3d): warning: the `gets' function is dangerous and should not be used.
i@u ~/test> diff =(dmesg|./a.out) =(dmesg|tail)
i@u ~/test>

99でも395Byteも入りますしねぇ

(21:01)

_ ムダ足じんせい

ミッション

  • 退寮する: 失敗
  • 転出する: 失敗
  • 自転車回収: 成功
  • 帰還: ひどく迷った

(21:19)

_ 光が来た

ひかりーひかりー

(22:01)

_ shinh.dyndns.org

全壊

(22:04)

_ PPL

LL Ring よりよっぽど行きたいような内容だったんじゃないかなぁ、とか。 こういうアカデミックな内容知る機会全然無いんだよなぁ。

(23:27)

_ shinh.dyndns.org

121.1.133.104 に挿し替え。 dyndns.org はありがたいなぁ…

(23:27)


2006-09-12

_ PPLは

見た感じとても行きたかったのだけど 用事とかで断念してしまったのであった。

(12:47)

_ マンガ

のだめの最近のを読んで、シガテラ読んで。

どちらも面白かった

(13:17)


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.shinh(2014-05-24 02:43) 2.k.inaba(2014-05-24 02:43) 3.YT(2014-05-24 02:43)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h