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

はじめてのにき

ここの位置付け

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|

ToDo:


2006-04-01

_ いわゆるあとで読む

http://q.hatena.ne.jp/1138362836

便利帳とか便利そう

(21:35)


2006-04-02

_ また今度考える

> time LD_PRELOAD=./nmalloc.so ruby -e 'for i in 0...100; ("aaa".."zzz").each {|i| }; end'
0x804a150(0x804a000+0x50) 0x805a000
0x807ae94(0x804a150+0x30d40) 0x809a000
0x809a007(0x8099fff+0x4) 0x80aa000
-e:1: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [i386-linux]

zsh: abort      LD_PRELOAD=./nmalloc.so ruby -e
LD_PRELOAD=./nmalloc.so ruby -e   0.01s user 0.01s system 86% cpu 0.023 total

(11:29)


2006-04-04

_ やはりか!

http://www.houseabsolute.com/presentations/jsan-ajax-perl-ja/slide29.html

  • Can be synchronous
  • 非同期でアル必要はない
  • No need for XML
  • XMLである必要もない
  • Doesn't even need Javascript
  • Javascriptである必要でもない。

(17:23)


2006-04-06

_ 5/2メール

(23:57)


2006-04-07

_ mingw32 で import library を作る

何度やっても忘れる。

each "/data/wine/borland/Bin/impdef.exe %p.def %" *.dll
each "i586-mingw32-dlltool --def %p.def --dllname %p.dll --output-lib %p.a" *.dll

(08:45)

_ mod_estraier.dll

にんとも動かん。

リンクはできたんだがロードできません、ということで、 LoadLibrary で読んでみるところからかなぁ。

(11:51)


2006-04-09

_ 今日の会話で思い出した非常に重要な定理

定理: 積ん読の数=年齢-20

レンマ: 負数の積ん読は「今のを読み終わったら買おうと思っている本の数」

(01:27)


2006-04-11

_ AJA Chat のデータのアクセス頻度を考える

とりあえず保守的なチャットを考える。

  • ログイン時→参加登録を告知。参加者リストを更新。
  • 発言時→発言を追加。
  • トピック変更時→トピックを更新。
  • ログアウト時→参加解除を告知。参加者リストを更新。

頻度を考えるにまぁ発言だけ頻度が高い。 あたりまえ。

発言だけ別ファイルでappendしていく。 他はワンファイルに詰め込む、が良さげか。

あとはまぁ、更新部分だけ通知するのが利口だろうな。

(02:20)


2006-04-12

_ 思いて学ばざれば

本文やらコメントやら通じて微妙に抵抗がある部分も多いんだけど。 なぜか。

http://d.hatena.ne.jp/sumii/20060404/1144111484

  • 基本的には最初のsumiiさん→shiroさん→sumiiさん、でだいたい話は終わってるというか通じてる気が。
  • 先の世界、があるなら日記とかでポインタはりまくるとかして下さると良いのだが。ごく一部のもうちょいがんばるか的な人は見て、そんでまたなんか拡大再生産してくれるんじゃないかなとか。俺は違うが。
  • SICPはどのへんが古くなったんだろう?とか。具体例が欲しいかも。
  • 大学は基礎研究の側面こそが重要だと思ってるけど、即戦力とか期待してる人多い。
  • そもそもたいていの企業が研究の先端に興味持たないのはアタリマエというか、成功するか失敗するかわからんものに投資するわけにはいかんわけで、だからこそ税金収めてそっから大学に流して基礎研究させてるんだろと。
  • 既に言い訳してる件を叩いてる人がいる気が。
  • 前覚えた chasm で言うと Innovators もいることを Early Adopters に伝えたいだけ、というか、 Early Majority に伝えても「今はまだ不安だよね…」っていうかほげほげはげ。

(14:45)

_ 紅茶

  • CSSをなんとか
  • マニュアルを書く
  • コマンドプラグイン機構
  • meta refresh を入れるか…

(16:43)


2006-04-13

_ 紅茶

unload を実装する

(19:02)


2006-04-14

_ Symbol vs String

今度調べるためのメモ。

i@u ~/src/ruby-1.8.1> time ruby -e 'h={}; for i in 0...1000000; h["str"]=i; end'
ruby -e 'h={}; for i in 0...1000000; h["str"]=i; end'  2.21s user 0.02s system 99% cpu 2.252 total
i@u ~/src/ruby-1.8.1> time ruby -e 'h={}; for i in 0...1000000; h[:sym]=i; end'
ruby -e 'h={}; for i in 0...1000000; h[:sym]=i; end'  1.27s user 0.00s system 100% cpu 1.267 total
i@u ~/src/ruby-1.8.1> ruby -e 'p "str".hash; p "str".object_id'
987610256
-604106804
i@u ~/src/ruby-1.8.1> ruby -e 'p :sym.hash; p :sym.object_id'
2627854
2627854
i@u ~/src/ruby-1.8.1> ruby -e 'p :a.hash; p :b.hash; p :c.hash'
2627854
2629902
2631950

これだとハッシュのヒット率落ちそうな気もするが。 要チェック。

(20:49)

_ これはぶつかりそうだけど

#define FIND_ENTRY(table, ptr, hash_val, bin_pos) do {\
    bin_pos = hash_val%(table)->num_bins;\
    ptr = (table)->bins[bin_pos];\
    if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\
        COLLISION;\
        while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\
            ptr = ptr->next;\
        }\
        ptr = ptr->next;\
    }\
} while (0)

まぁ Symbol の数なんて少ないんだから ハッシュのキーは Symbol が正解なんだろうな。

(20:52)

_ HE

デバッグビルドのみ。

estmaster: estraier.c:5547: est_aidx_attr_put: Assertion `db && id >= 0 && vbuf && vsiz >= 0' failed.
zsh: abort (core dumped)  estmaster start casket
#0  0x080fcd41 in raise ()
#1  0x080bf910 in abort ()
#2  0x080bb1d6 in __assert_fail ()
#3  0x08079f4f in est_aidx_attr_put (db=0x818e1d0, id=-1,
    vbuf=0x81ad440 "mod_estraier", vsiz=12) at estraier.c:5547
#4  0x0806e2aa in est_db_edit_doc (db=0x818d9f8, doc=0x81a4320)
    at estraier.c:1946
#5  0x0808257d in est_mtdb_edit_doc (db=0x815d430, doc=0x81a4320)
    at estmtdb.c:193
#6  0x08056ff4 in sendnodecmdeditdoc (clsock=32, req=0xb5a43194,
    node=0x81a4160) at estmaster.c:3391
#7  0x08050020 in sendnodedata (clsock=32, req=0xb5a43194, user=0x815d1e8,
    path=0x815d0d6 "web") at estmaster.c:2037
#8  0x0804d5a3 in communicate (targ=0x81e0360) at estmaster.c:1545
#9  0x0808d402 in start_thread ()
#10 0x080f76ce in clone ()

doc->id が -1 になってる。 まだセットされてない or 必要ない、たぶん。 混入は 1.2 系の est_aidx_attr_put だと思う。

(22:29)


2006-04-15

_ メンツメモ

sfjから、sh,sa,is,wo? 。んで tk,fo,sa 。 あれ、7人か。

(00:29)

_ ruby24ru

http://raa.ruby-lang.org/project/nihongobenkyo/

すごそうなものを見つけた。

(15:24)

_ ruby24ru - zstore

前に gzstore は作ったことがあったので zstore を作ってみた。

http://shinh.skr.jp/koneta/zstore.rb

http://shinh.skr.jp/koneta/gzstore.rb

ruby /usr/lib/ruby/1.8/pstore.rb  1.13s user 1.09s system 85% cpu 2.593 total
ruby gzstore.rb  1.55s user 1.23s system 93% cpu 2.989 total
ruby zstore.rb  13.62s user 5.12s system 92% cpu 20.313 total

とりあえず愕然とするようなパフォーマンスの悪さ。

(16:43)

_ ruby25ru - zstore2

http://shinh.skr.jp/koneta/zstore2.rb

ちょっとマシに。

ruby zstore.rb  9.45s user 3.70s system 84% cpu 15.503 total

(16:51)

_ ruby24ru

> ruby -e 'p "Rubytsukattaramakedatoomotteiru".size - 6'
25

ruby25ru だった。

(16:54)

_ ruby25ru

一行紹介

るびーつかったらまけだとおもいつつ、Ruby。

プロフィール

  • Rubytsukattaramakedatoomotteiruは「るびーつかったらまけだとおもっている」と読みます。
  • Rubyは使ったら負けだと思うのですが、それほど詳しくもありません。
  • でも最近、だいぶRubyを使うようになってきました。負け組です。
  • よく見るとコメントスパムが来てました。
  • Rubytsukattaramakedatoomotteiruの「中の人」はshinhです。

飽きてきた。

(17:14)

_ それと

ヨタが心の支え。

(17:16)

_ randfs

(17:22)


2006-04-17

_ ruby25ru - YASM

http://www.atdot.net/~ko1/diary/200604.html#d3

面白そうすぎる。 インラインアセンブラ書けるのもステキだけど たぶんこれは強力な reflection にもなるわけで。 メソッドを逆アセして中身調べれば、

http://www.rubyist.net/~matz/20060401.html#c09

のへんの次世代チックな IDE も作れそう。

(00:55)

_ まあ

JS とか Io は普通にできるけどにゃー。

(00:56)

_ ruby25ru - SOP

mf.rb の時も考えたことだけど Sample Oriented Programming というのは魅力的。

http://d.hatena.ne.jp/shinichiro_h/20050822#1124695279

まぁでもサンプルがあれば実装は自動的にされます、 ってのは妄言に近い。

ただ、サンプルがあればドキュメントが自動で書かれます、 ってのは良さげな気がする。 doc/ は書きたくないけど test/ は書いてもいいわけで、 assert とか見ればほらだいたいドキュメントくらい作れるじゃないか。

> sample_base_document_generator YAML::load
YAML::load(io)

io はたぶん IO 継承クラスっぽい。Fileかも知れんけど。
返り値はなんか色々帰ってるね。
Hash とか Array とかそのへん。

素直に doc/ から test/ 生成ですかそうですか。

(01:43)

_ ruby25ru - Zlib

これがエントロピーというものだよ

i@u ~/test/ruby> cat test_zlib.rb
require 'zlib'

abc = 'abcdefghijklmnopqrstuvwz'
aaa = 'aaaaaaaaaaaaaaaaaaaaaaaa'

zd = Zlib::Deflate.new
abcd = zd.deflate(abc, Zlib::FULL_FLUSH)
aaad = zd.deflate(aaa, Zlib::FULL_FLUSH)

print "#{abc.size} => #{abcd.size}\n"
print "#{aaa.size} => #{aaad.size}\n"

zi = Zlib::Inflate.new
p zi.inflate(abcd)
p zi.inflate(aaad)
i@u ~/test/ruby> ruby test_zlib.rb
24 => 32
24 => 9
"abcdefghijklmnopqrstuvwz"
"aaaaaaaaaaaaaaaaaaaaaaaa"

手軽で良いわー

(02:07)

_ abc... を

a24z の 4byte にまで圧縮する人類の英知にカンパイ。

機械の8倍の圧縮率!すげー

(02:12)

_ あやしい

bgcolor="#004040" text="#ffffff" link="#eeffee" vlink="#dddddd" alink="#ff0000"

(02:44)

_ apt-get upgrade

The following packages will be REMOVED:
  gphoto2 (2.1.6-1.1)
  gtkam (0.1.11-2)
  kdebase (3:2004_09_23-7)
  kdebindings (6:3.5.1-0.3.fc4)
  kdelibs (3.5.1-0.1.fc4)
  kernel#2.6.10-1.741_FC3 (6:3.5.1-0.1.fc4)
  kernel#2.6.11-1.14_FC3 (2.6.10-1.741_FC3)
  kernel#2.6.9-1.667 (2.6.11-1.14_FC3)
  kernel-utils (2.6.9-1.667)
  kudzu (1:2.4-13.1.49_FC3)
  lm_sensors (1.1.116.3-1)
  pcmcia-cs (2.9.1-3.FC4.2)
  sane-backends (3.2.8-4.12)
  sane-backends-devel (1.0.17-0.fc4.2)
  sane-frontends (1.0.17-0.fc4.2)
  system-config-soundcard (1.0.13-2)
  xinitrc (1.2.12-5.FC4)
  xorg-x11 (4.0.18.1-1)
  xorg-x11-tools (6.8.2-37.FC4.49.2)
  xorg-x11-xdm (6.8.2-37.FC4.49.2)
  xsane (6.8.2-37.FC4.49.2)

(19:34)


2006-04-18

_ skk の辞書使って WikiName 生成

GI と思ったら KI だった。

i@u wrk/ruby/genwn> ruby genwn.rb エージェントシステム
AgentSystem
i@u wrk/ruby/genwn> ruby genwn.rb 麦酒マシン
BeerMachine
i@u wrk/ruby/genwn> ruby genwn.rb ビアマシン
BeerMachine
i@u wrk/ruby/genwn> ruby genwn.rb C言語コンパイラ
CCompiler
i@u wrk/ruby/genwn> ruby genwn.rb 基底変換
BaseConvert
i@u wrk/ruby/genwn> ruby genwn.rb ダイナミックバインド
DynamicBind

このへんは良い

i@u wrk/ruby/genwn> ruby genwn.rb ローレンツ変換
LowRentsuConvert
i@u wrk/ruby/genwn> ruby genwn.rb 麦酒缶
BeerKan
i@u wrk/ruby/genwn> ruby genwn.rb 地震
Jishin
i@u wrk/ruby/genwn> ruby genwn.rb 死んでしまえ
ShiNdeshimae
i@u wrk/ruby/genwn> ruby genwn.rb ペペロンチーノ
Peperonchi^no
i@u wrk/ruby/genwn> ruby genwn.rb ラグナロク
LagNaroku
i@u wrk/ruby/genwn> ruby genwn.rb エクスカリバー
Ekusukariba^
i@u wrk/ruby/genwn> ruby genwn.rb ログハウス
LogHouse
i@u wrk/ruby/genwn> ruby genwn.rb 弾幕
Danmaku
i@u wrk/ruby/genwn> ruby genwn.rb 英国
Eikoku
i@u wrk/ruby/genwn> ruby genwn.rb ロシア
Russia

使えん。

(00:44)

_ ruby25ru - tracer

http://d.hatena.ne.jp/rubymi/20060417#1145283941

使えない子、うびみ。使えない。

i@u ~/test/ruby> cat trace_func.rb
dumping = false
begin
  r = ARGV[0].reverse
  print "#{r}\n"
rescue
  if dumping
    Tracer.off
    raise
  end
  dumping = true
  require 'tracer'
  Tracer.on
  retry
end
i@u ~/test/ruby> ruby trace_func.rb ahi
iha
i@u ~/test/ruby> ruby trace_func.rb
#0:trace_func.rb:13::-:   retry
#0:trace_func.rb:3::-:   r = ARGV[0].reverse
#0:trace_func.rb:3:Array:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:Array:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:Kernel:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:NameError::message:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:NameError::message:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:NoMethodError:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:NameError:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:NameError:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:NoMethodError:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:>:   r = ARGV[0].reverse
#0:trace_func.rb:3:Exception:<:   r = ARGV[0].reverse
#0:trace_func.rb:3:::   r = ARGV[0].reverse
#0:trace_func.rb:3:Kernel:<:   r = ARGV[0].reverse
#0:trace_func.rb:6::-:   if dumping
#0:trace_func.rb:6::-:   if dumping
#0:trace_func.rb:7::-:     Tracer.off
trace_func.rb:3: undefined method `reverse' for nil:NilClass (NoMethodError)

(01:39)

_ RUBYtsukattaraMAkedatoomotteiru

略称るびま

(01:40)

_ FC5

/usr/bin/gtk-update-icon-cache: error while loading shared libraries: libXrandr.so.2: cannot open shared object file: No such file or directory

/var/tmp/rpm-tmp.37855: line 3: /usr/X11R6/bin/mkfontdir: そのようなファイルやディレクトリはありません

/usr/bin/pango-querymodules-32: error while loading shared libraries: libXau.so.6: cannot open shared object file: No such file or directory

とか出てた。

あとでやること。

(02:15)

_ stow -D

が常識的な実装がされていると信じられない。

(02:24)

_ FC5

rpmdb どこいった

(04:11)

_ stow

i@u ~> stow --version
stow (GNU Stow) version 1.3.3
i@u ~> stow --vers
stow (GNU Stow) version 1.3.3
i@u ~> stow --ver
stow: unknown or ambiguous option: ver

   } elsif ($opt =~ /^vers(i(on?)?)?$/i) {

...

(12:16)

_ cairo_font_options_t

とかが無いとかなので、 void * に改竄。 gdk/gdkscreen.h とか pangocairo.h とか。

(14:06)

_ クリコモらしい

http://www.everystockphoto.com/results.php?seed=sky

ほげー

(22:58)

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

_ rubymi [ひどい。帰ったら手つけます多分。 今はそれよりincludeしたらインスタンスメソッドが一回しか呼び出せなくなるよう..]

_ rubymi [顔文字使うの忘れてた ^-^;;;;;;;;;;;;]

_ ruby25ru [(^^^)]


2006-04-19

_ SG phase operator

いつも忘れる分散のもとめかた。

まず普通にコヒーレントと内積取って二つくっつける。 この時点で積分三つ。

m の積分を持ってきてδ関数に変換する。 その際 φm を微分に変換する。

δ関数の微分は微分してδ。 つーわけでΓ関数の微分が登場。

http://en.wikipedia.org/wiki/Polygamma_function

このへんを参考に。 結論としては1乗の場合はΓ関数微分したところは消える。 2乗以降の場合は残る。

(01:08)

_ あ、あと

ポリガンマ関数は、えーと log(N) に近似できるんだと思う。 そんで微分したら 1/N で…ダッダッダッ。

(03:06)

_ トリエステ報告書

(11:02)

_ eve

sftp の設定とかした…

まだ移行できず。

(19:54)

_ MicrosoftUpdate

FC4 => FC5 のアップデートよりめどい。

(20:05)


2006-04-20

_ 内定

まぁ普通にウマい話だよなあ…

(04:14)

_ testsprite.boo

Windows でも動いた。 問題点まとめ。

  • SdlDotNet.dll の Surface..ctor のアクセス制限。 mono よりホンマモノの方が厳しい、というかちゃんとやっている。
  • SDL_Image がロードできない。
  • SDL だけでいじるには struct とかの処理について知らなさすぎる。

(04:16)

_ ゲームサーバ

忘れないうちに。

無し、リプレイ検討、時刻同期、乱数渡し、 クローズドモジュール渡し、ハードウェア配布。

(04:17)

_ ruby25ru - callonce.rb

http://d.hatena.ne.jp/rubyca/20060419/1145459336

例えば。

class MethodCallingError < StandardError; end
module CallOnce
  def self.included(cname)
    set_trace_func proc{|event, file, line, id, binding, klass|
      return if cname != klass
      return if event !~ /call/
      def klass._define_method(id, &p)
        define_method(id, p)
      end
      klass._define_method(id) do
        raise "#{id} called twice"
      end
    }
  end

end

class C
  def f
    p "func"
  end
  def f2
    p "func2"
  end
end

c = C.new
c.f
c.f2
c.f

class C
  include CallOnce
end

puts "OK, let's forget."
c.f
c.f2
c.f

def klass._define_method がださい。

(19:15)

_ ruby25ru - callonce (2)

別にこれでいいのか。

set_trace_func proc{|event, file, line, id, binding, klass|
  return if cname != klass
  return if event !~ /call/
  klass.send(:define_method, id) do
    raise "#{id} called twice"
  end
}

もちろん二度目に include された場合の処理とかしてないので、 まぁそのへんは適当に。

(19:19)

_ sdmkun memo

util.h problem by 外人。

(22:02)


2006-04-21

_ Python って

匿名関数書いたとして、その関数のメソッドを 変数に束縛することなく叩くってのはできるのかな。

proc{}.call()

みたいなの。

(00:57)

_ indent holy war

http://www.derkarl.org/why_to_tabs.html

斜め読みした感じ、先頭のヤツ以外はどっちも holy war くさい気がした。

とりあえず1文字単位のインデントがしたいケース、 まさに

SomeClass::SomeClass()
_____.:.InheritingClass(false, false
_____...................5, 10, true,
_____...................bleh, blah)
{
// ....
};

みたいなケースが面倒なのと、 あとタブの設定変えてインデントが深くても大丈夫、 っていうのはインデントが深い方が問題なので別にいいやとかそんな。

まぁスペースオンリーでいいじゃない。

(13:58)

_ 先頭だけタブ

_____if.(true)....//This should be replaced
_____{............//with a proper boolean
_____.....func();
_____}

このスタイルは結構アリかもとか。

(14:00)

_ ネスト関数とかに統一性がなくなるか

だめだ。コピペしにくくなるもんね。

(14:01)

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

_ shinh [コメントテスト]

_ shinh [おかしい。]

_ shinh [めんどくさくなってきた。]


2006-04-22

_ The ソレなんてエロゲ?

http://tinyurl.com/zfsjz

(16:13)


2006-04-23

_ mod_estraier compiling problem

http://trident.infotech.gr.jp/~arai/d/index.php?/archives/387-mod_estraier.html

対処すること。

(03:17)

_ mod_estraier-0.3.1

まぁ色々修正した。 やりたいことがあるけどできてない、 って時に修正だけのものを出せないクセはよろしくない。

(04:55)

_ 産経抄

やっぱ素敵。

http://www.sankei.co.jp/news/060422/morning/column.htm

なんでこう、単純な文章としての体裁がこうアレなんだ。

気に食わない表現や言論を封じる“暴力”は、以前にもあった。

とか、それはもういわゆる言論弾圧はそりゃ左右問わず 権力者によるものも運動家によるものもものすごい数 あったろうに出てくる例に必然性がこう全く見つからないとか。

(05:16)

_ estmasterは賢いクローラです。

(05:31)

_ 風邪

何回ひいてるんだ。ざっと思い出すに、

  • 愛媛帰還して4.1に39度は出た。腹と熱。
  • 4.6あたりに疲労のため軽いぶり返し
  • 4.12とかそのへん。掃除しつつしんどい。
  • 4.16とかそのへん。なんとなくだるい。激しくひきこもり。
  • 最近。つまり4.22とかそのへん。腹と喉と鼻。

(07:45)

_ 圏論

要は関数についての群論みたいなものだろうかと 思ったらそうだった。

原理

  • 単射がある。 f(x)
  • 合成できる。 f(g(x)) = (g*f)(x)
  • 合成に結合法則がある。 f(g(h(x))) = ((g*h)*f)(x) = (g*(h*f))(x)
  • 恒等写像がある。 I(x)=x, (f*I) = f, (I*g) = g
  • {f: X->Y} {g: X'->Y'} で X != X' || Y != Y' なら f AND g = NULL

最後の || の部分は && では無いというのは たぶんそうだよな。

(20:08)

_ Fibonacci の偶奇

http://d.hatena.ne.jp/rubyco/20060423/seq12

そうか。 EOOEOOEOO... か EEEEEEE... のパターンしか無いのか。

偶数全体を元とする加法は群で、 奇数はそうじゃないんだな。

(21:08)

_ ruby25ru - idgen

最近勝ち組だったのに。

時刻を含む一意な ID を生成する関数。

def idgen(prev)
  now = Time.now.strftime('%y%m%d%H%M%S')
  cnt = if prev && now == prev[0...12]
          c = prev[12..-1].to_i + 1
          c < 10 ? "0#{c}" : c.to_s
        else
          '00'
        end
  now+cnt
end

if $0 == __FILE__
  id = nil
  for i in 0...20
    id = idgen(id)
    print "#{id}\n"
    sleep(0.1)
  end
end

1秒に100回以上呼び出すのは禁止。

i@u ~/test/ruby> ruby idgen.rb
06042322553900
06042322553901
06042322553902
06042322554000
06042322554001
06042322554002
06042322554003
06042322554004
06042322554005
06042322554006
06042322554007
06042322554008
06042322554009
06042322554100
06042322554101
06042322554102
06042322554103
06042322554104
06042322554105
06042322554106

(22:57)


2006-04-24

_ 今年度の目標

すうがくをきちんとやろう

とくにぐん

(18:26)

_ prototype.js

はなんかプロトタイプベース畑に来ておきながら なんであれがないんだ症候群によって 郷に入りて…的なものだと考えてた、

け、ど、

よく考えると C のマクロとかと違って、 プロトタイプベースは そもそも拡張してもらうことが前提なわけで それもありかと思ってきた。

(20:44)

_ と思ったが

Array とか Hash とか Range はちょっとなあ… DTL みたいな、こう。

(20:45)

_ やっぱ

あんま好きになれませんでした…

http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html

$() は便利そう。あと Ajax.Updater はまぁ抜き出して使いたいかなぁ。

これをまるごと include したらなんか終わる気がする。

(22:05)

_ 入れてみたー

http://www.tdiary.org/20050808.html

(22:09)

_ やりたいこと

  • ふわふわGL
  • boo でなんか
  • SDL画像ビューワ
  • JS画像ビューワ
  • MOE
  • GBA
  • OS

どれからやろう しんどくて判断不能

(22:59)

_ OSM

と言っても、

[create]

風博士の記述

(23:47)

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

_ shinh [あひー]

_ niha [えへー]

_ bsoup [ほわー]


2006-04-25

_ かなりのレベルの燃料

http://mixi.jp/view_bbs.pl?id=5933534&comm_id=665545

ですがこれからの展開がたのしみです。

(16:27)


2006-04-26

_ ruby25ru - Array

http://mput.dip.jp/mput/?date=20060207#c04

の記述を見て。 配列のケツ持ってくるのになんで O(1)ができるんだろうと思って。 ていうか Array は配列だと思ってたけど本当に配列なのかと思って。

とりあえず rb_ary_fetch を見た。

return RARRAY(ary)->ptr[idx];

うむ配列。

一応実験。

i@u ~/test/ruby> ruby -e 'a=[1,2,3]; b=a[1..-1]; p a; p b; b[0]=4; p a; p b'
[1, 2, 3]
[2, 3]
[1, 2, 3]
[4, 3]

うむ。

となると slice が CoW だとかかな…と思って rb_ary_subseq と rb_ary_modify 見たら CoW ぽかった。 えらい。でもそらそうか。

(17:46)

_ Walterタン

は GC をいじっているらしい。

(18:23)

_ 勘違いくさい

(18:26)

_ 今度勉強するスタック

ソート群

(19:04)

_ t2nani

http://www.namikilab.tuat.ac.jp/~sasada/prog/t2nani.html

こんなんあったんか。

(22:00)

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

_ shinh [AHA!]

_ shinh [http://www.google.com/ IHI-]

_ shinh [UHUHU]


2006-04-28

_ eve:22 は

まだ開いていない。よって作業できない。

(16:17)

_ without Xcode

/usr/bin/libtool -arch_only ppc -dynamic -install_name @executable_path/../Frameworks/SDL_kanji.framework/Versions/A/SDL_kanji -noall_load -flat_namespace -undefined suppress -o SDL_kanji -L/usr/lib/gcc/darwin/3.3 -L/usr/lib/gcc/darwin -L/usr/libexec/gcc/darwin/ppc/3.3/../../.. SDL_kanji.o -framework SDL -lgcc -F/home04/ss56092/Frameworks

最終的にはコレ。だるかった。

(17:34)


2006-04-29

_ やること

学会費

NII書類

(08:27)

_ /dev/ptmx

mlterm が動かんくなっていた。 /dev/ptmx を作って chmod すると回復。

(16:00)

_ ssh が

動かんくなっていたので chmod 777 /dev/urandom

(16:02)


2006年
4月
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(2006-04-26 22:42) 2.shinh(2006-04-26 22:34) 3.shinh(2006-04-26 22:33)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h