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

_ The ソレなんてエロゲ?

http://tinyurl.com/zfsjz

(16:13)


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

_ 紅茶

unload を実装する

(19:02)


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)


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