ToDo:
はなんかプロトタイプベース畑に来ておきながら なんであれがないんだ症候群によって 郷に入りて…的なものだと考えてた、
け、ど、
よく考えると C のマクロとかと違って、 プロトタイプベースは そもそも拡張してもらうことが前提なわけで それもありかと思ってきた。
(20:44)
あんま好きになれませんでした…
http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
$() は便利そう。あと Ajax.Updater はまぁ抜き出して使いたいかなぁ。
これをまるごと include したらなんか終わる気がする。
(22:05)
http://trident.infotech.gr.jp/~arai/d/index.php?/archives/387-mod_estraier.html
対処すること。
(03:17)
やっぱ素敵。
http://www.sankei.co.jp/news/060422/morning/column.htm
なんでこう、単純な文章としての体裁がこうアレなんだ。
気に食わない表現や言論を封じる“暴力”は、以前にもあった。
とか、それはもういわゆる言論弾圧はそりゃ左右問わず 権力者によるものも運動家によるものもものすごい数 あったろうに出てくる例に必然性がこう全く見つからないとか。
(05:16)
(05:31)
何回ひいてるんだ。ざっと思い出すに、
(07:45)
要は関数についての群論みたいなものだろうかと 思ったらそうだった。
原理
最後の || の部分は && では無いというのは たぶんそうだよな。
(20:08)
http://d.hatena.ne.jp/rubyco/20060423/seq12
そうか。 EOOEOOEOO... か EEEEEEE... のパターンしか無いのか。
偶数全体を元とする加法は群で、 奇数はそうじゃないんだな。
(21:08)
最近勝ち組だったのに。
時刻を含む一意な 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)
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)
Windows でも動いた。 問題点まとめ。
(04:16)
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)
別にこれでいいのか。
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)
http://t16web.lanl.gov/Kawano/gnuplot/
via
http://www.jmuk.org/d/?path=2006/04/18#d18t02
(01:01)
いつも忘れる分散のもとめかた。
まず普通にコヒーレントと内積取って二つくっつける。 この時点で積分三つ。
m の積分を持ってきてδ関数に変換する。 その際 φm を微分に変換する。
δ関数の微分は微分してδ。 つーわけでΓ関数の微分が登場。
http://en.wikipedia.org/wiki/Polygamma_function
このへんを参考に。 結論としては1乗の場合はΓ関数微分したところは消える。 2乗以降の場合は残る。
(01:08)
(11:02)
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)
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)
/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)
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)
http://www.atdot.net/~ko1/diary/200604.html#d3
面白そうすぎる。 インラインアセンブラ書けるのもステキだけど たぶんこれは強力な reflection にもなるわけで。 メソッドを逆アセして中身調べれば、
http://www.rubyist.net/~matz/20060401.html#c09
のへんの次世代チックな IDE も作れそう。
(00:55)
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)
これがエントロピーというものだよ
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)
不思議さ。
http://www.sankei.co.jp/news/column.htm
http://ja.wikipedia.org/wiki/%E7%94%A3%E7%B5%8C%E6%96%B0%E8%81%9E
(14:19)
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)
前に 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)
http://shinh.skr.jp/koneta/zstore2.rb
ちょっとマシに。
ruby zstore.rb 9.45s user 3.70s system 84% cpu 15.503 total
(16:51)
一行紹介
るびーつかったらまけだとおもいつつ、Ruby。
プロフィール
飽きてきた。
(17:14)
(17:22)
| 前 | 2025年 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 | ||||||
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ shinh [あひー]
_ niha [えへー]
_ bsoup [ほわー]