http://www.aoky.net/articles/kathy_sierra/its_not_too_lat.htm
弱冠27歳にして、Ruby on Railsフレームワークの作者デビッド・ハイネマイヤ・ハンソンは世界を変え、Rubyに存在意義を与えた。
Rubyに存在意義はなかったのか。大ショックだ。
存在意義のないるびまの18号が出ました(Rubyist Magazine 0018 号)。Rails記事の部分だけ、ちょっと意義があるのかもしれません。
もしよかったら読んでやって下さい。
gruby だと「ぐるびー」と呼びたいので goruby がいいと思う。
def m(o=nil, k:) では、k は postarg なので、m(k:1) は、k==1になるんではなかろうか。
http://i.loveruby.net/d/20070226.html#p03
これって btest に移したほうがよくない? specialized instruction が効かなくなるし。
b-mobile、結構快適かもしれない。
職場に返ってきた。
http://pc10.2ch.net/test/read.cgi/tech/1164885714/905
このバグは以前にもバグ報告をもらっているんだけど、まだ対応してなかったんだよな。なぜか for でだけ再現するという不思議。
この一点で言うと、確かにこの程度ですね。うん。
不思議、じゃなかった。前、問題までははっきりしていたんだ。ブロックの構造の問題で、ローカル変数と間違えてしまうというのがある。回避作というか、i=0 を、なんかてきとーな命令(j=nilとか)の後ろでやると、うまくいってしまうという。
抜本的な解決は、合宿の宿題。
おいしかったんだけど、ちょっと食べ過ぎた orz
てか、なんでこんなに重なるの。ねぇ、ねぇ。
http://slashdot.jp/science/article.pl?sid=07/02/20/1630209&threshold=-1
これを一時記憶に計算したら、あら不思議、いつのまにか遺伝的アルゴリズムに。
ホテルに電話してみたら、お前なんか氏らねーといわれた。大丈夫か、このツアー会社。
会社名のままだったらしい。
憧れのb-mobileを買った。150時間使えるbmobile hours。さて、どれくらい便利なのか。そもそも150時間ってどうなんだろう。
b-mobile hours で、マルチリンクとシングルリンク、どちらか選べる、ということで、シングルにする意味はわからなかったので電話で聞いてみたら、シングルのほうが電波状況によってはつながりやすいこともある、ということだった。なるほど。
@松江。
職場のカードキーを落とした orz
ということで、色々と方々に電話してみる。羽田空港に届けられていたらしい。どうもありがとうございました orz
1.9(YARV)は、大分1.8の仕様にだいぶ近づくそうです。
m17nにも色々議論が。
実は、Rails人気を見ていると、処理系作っていてもしょうがないのかなぁ、と思うところがあったんだけれど、まつもとさんのある見解を聞いて、とても勇気付けられた気がする。
もうちょっと、頑張ろう。
スラドねたより。DNAをコンピュータとして使おうとする人たちもいるくらいだからねぇ
私は怖がりのくせにオカルト話が好きで、寝る前に読むことがたまにあるんだけど、あるサイトを読んでいたら、急にPCが変な音鳴らしだした。本気でびびったんだけれど、あんなSE聞いたことないし、何がなんだか。
というか、ウイルスとかトロイとか、そっちのほうが怖い。
と、思ったら西尾君からのSkype着信音かよ!!! 超びびった!
http://www.hpcc.jp/swopp-announce/msg01595.html
俺の日記で何をするのかと思った。
日本 Ruby 会議 2007 - CallForSponsors
なんとも急で申し訳ないんですが、「今月末まで」RubyKaigi2007ではスポンサーを募集します。興味のあるお金持ちは、「とりあえずちょっと待って」でもいいので、今月中に一つご連絡ください。
w
YARVはよさそう、というか。良くなさそうでも否応無く使わされることになるんだよな。
おおきくふりかぶっての7巻。ひっぱるなぁ。
アリア9巻。もう買っていた orz 最近、被ることが多い。
ドラゴン桜 11-16。継続は力なりですねぇ。
昨日、ウタゴエを見学させてもらった。お忙しい中ご対応頂きまして、どうもありがとうございました orz
YAPCどうしようかな。Perlわかんないんだよなぁ orz
わからないのに買ってしまったおいらが来ましたよ。行こうよ。
暇なはずなんだけどなぁ。おかしいなぁ。
ruby-talk のフォルダを整理するために。
require 'mailread' require 'time' require 'fileutils' SRCDIR = ARGV.shift || raise DSTDIR = ARGV.shift || raise def move file dstfile = File.join(DSTDIR, File.basename(file)) p [file, dstfile] FileUtils.move(file, dstfile) end Dir.glob(File.join(SRCDIR, '*')){|file| mail = Mail.new(file) date = Time.rfc822(mail['Date']) move file if date.year == 2006 }
Mac OSX で pthread_attr_setstacksize() が失敗するー。なんでー。EINVAL になる要素があるとは思えないんだけどな。なんでー。
ライセンスに同意して、libc のソースを見たらすぐわかった。pthread_attr_setstacksize() で指定できるサイズはページサイズの倍数じゃないといけないらしい。しくしく。
そんなのドキュメントにかいてねーよ!
しかし、さっきループぶん回して、どんな値で出来るか試したときには、全然OKがでなかったのに、と思っていたら、
for(i=0; i<max; i++) { pthread_attr_setstacksize(&attr, stack_size); }
という、値を変えていない馬鹿なことをやってしまった。情けない。
C4というのに参加させてもらった.質問が出来なかったなぁ.
RHG 中.
cygwin は、やっぱり pthread 使うことにした。で、同時生成スレッド数が40個しかない!!
なぜーーー!!
Cで書いても、python on cygwin で確認しても 800個は生成できるのに。何かが間違っている?
なんなんだろうなぁ、この 44 の制限ってのは。
しかし、cygwin のソースを読んでいて思ったんだが、C++ってほんとにインスタンス変数がわかりづらくて嫌だな。というのは、Rubyに毒されたからそう思うんだろうか。
うーん、わかんない。全然わかんない。
犯人がわかった!
XLDFLAGS="$XLDFLAGS -Wl,--stack,0x02000000"
だ。なんでこんなのつけてんだろ。
しかし、この中から切り貼りするのね>cygwin のスタック。
うそだった。
32MBのスタックを使おうとするからだった。mswin32 版も同じだったんだが、miniruby にはそのオプションがつかないようなので気づかなかった。
http://www.garbagecollect.jp/~usa/d/200702a.html#id20070209_P2
昨夜じゃないです.もうちょっと前.
後述:嘘でした.昨日.作業したのはもっと前なので勘違い.
mswin32スレッド、だいぶ安定したが、なんか時々刺さる。どうやってデバッグしたもんだか。
なんか突込みが出来なかったのでこちらに.
http://www.fobj.com/hisa/d/20070209.html#p01
win = OSX::NSWindow.alloc win[:initWithContentRect, [200.0, 300.0, 250.0, 60.0], :styleMask, 15, :backing, 2, :defer, 0]
なんてのはどうですかね.Objective-C => [obj recv] から Ruby => bj[:recv] になる感じ.
もうあるかもしれないけれど.
もうちょっとがんばれば
win.initWithContentRect([200.0, 300.0, 250.0, 60.0], :styleMask, 15, :backing, 2, :defer, 0)
も出来るか.
もうちょっと,というのは引数つきメソッドは必ず引数解析する,という感じ.
・・・なんかYARVのデバッグをしていたら、
ラップトップが突然再起動した。
・・・こわ。
きのうはどうもでした。 前者は、NSArrayやNSDictionaryなどで、どんな意味の [] なのか混乱しそうです。 後者はもともと実装してましたが deprecated になっています。「initWithContentRect は1つめの引数ラベル」と考えると、他のラベルと同列に扱っているobjc_send(もしくは[]でも)の方が自然な感じがしませんか。
また大きなコミットしました.ごめんなさい orz.
今回は「挙動を変えないコード整理」ということで,1 commit としたつもり.
こういうのは,どこまで分割するべきなんですかね.で,作業時にみつかった小さな変更などはどうやって分割していくべきなんでしょうか.根性でがんばる? それしかないのか.
「Objective-C MacOS X プログラミング」という書籍をたまたま買ってみたが,よみやすくていいですね.Objective-C(書きづらい)は全然知らないので勉強.C++などとの類推から,すいすい読める.
しかし,メモリ管理をプログラマが実際にどうやってるのかさっぱり見えない.きっちりかっちりリファレンスカウンタ管理してるんだろうか.超面倒くさそうだけど.ちゃんと,実際のプログラム例を見ないとわからないな.
アクセッサで適切にリファレンスカウントを管理,とかするのが定石なんだろうか.
darcsを使えば簡単でしょう。commit(darcs record)時に「このhunkをpatchに入れても良い?」って 聞かれますから。 commitが分けられるのが中々便利ですね。 svnと互換性があるsvkでも不可能じゃないかも知れません。 svkでダメだったら、darcs+svnが使えることもあります。
いやあ,日本語で書いて疲れた。時間がかかりすぎ。
Objective-C本の5章とくにオーナーシップポリシーに定石と規約などが書いてあります
結局のところプログラマに(リファレンスカウンタを使った)メモリ管理の責任が委ねられてはいるわけですが、メソッド名などと組み合わせた規約がきっちり決められているので(5章)、そのポイントを押さえれば見えやすくなります…などと書いていてrailsを連想してしまいました
@.v はありえないと言われてしまった>クラスローカルインスタンス変数.
_@v なんてどうかなぁ.
最近,どうもラップトップのメモリ不足に悩まされていたんだけど,スワップを切っていたかららしい.1GBメモリ積んでるんだから大丈夫だろう,と思っていたのだけれど,大丈夫じゃなかったらしい.
ロボットの話を色々聞けた.楽しかった.
東京kittyみたい。
あんまりにも頭が悪くなっているのでLingrAPIを使ってみる.
require 'open-uri' require 'kconv' require 'net/http' require 'rexml/document' Net::HTTP.version_1_2 class LingrRoom class LingrAPIError < RuntimeError; end def initialize key, room, nick @key = key create_session enter room, nick @active = true end def post uri, params = {} uri = URI.parse("http://www.lingr.com/api/#{uri}") Net::HTTP.start(uri.host, uri.port) {|http| response = http.post(uri.path, uri.query) body = response.body if false # ||true puts "---------------------------------------------" puts response.code puts uri puts body body end body } end def get uri, params = {} open("http://www.lingr.com/api/#{uri}"){|f| f.read } end def get_text doc, path e = doc.elements[path] raise LingrAPIError.new("path not found: #{path} at #{doc}") unless e e.get_text end def request method, uri, params doc = REXML::Document.new(__send__(method, uri, params)) raise LingrAPIError.new("Error: #{doc.to_s}") if get_text(doc, '/response/status') != 'ok' doc end def post_request uri, params = {} request :post, uri, params end def get_request uri, params = {} request :get, uri, params end def create_session doc = post_request "session/create?api_key=#{@key}" @session = get_text(doc, '/response/session') end def enter room, nick doc = post_request "room/enter?session=#{@session}&id=#{room}&nickname=#{nick}" @room_doc = doc @ticket = get_text(doc, '/response/ticket') @counter = get_text(doc, '/response/room/counter') end def observe doc = get_request "room/observe?session=#{@session}&ticket=#{@ticket}&counter=#{@counter}" # @counter = get_text(doc, '/response/counter') result = [] doc.elements['/response/messages'].each{|e| nick = get_text(e, 'nickname') text = get_text(e, 'text') result << [nick, text] } result end def observe_loop while @active observe.each{|nick, text| puts "#{nick}: #{text}".tosjis } end end def say text doc = post_request "room/say?session=#{@session}&ticket=#{@ticket}&message=#{URI.encode(text)}" end end if $0 == __FILE__ key = # ないしょ la = LingrRoom.new(key, "gauche", "ko1-test") Thread.new{ la.observe_loop } while line = gets la.say line.strip end end
あとは nadoka プラグインを作るだけ.
作った.2時間くらいか.ちゃんと動くかなぁ.
http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20060511_1032.html
なげー。
YARVを手に入れる、と読んで、ちょ、おま、とか思った。
今日の .xyzzy
(global-set-key '(#\C-c #\C-i) #'(lambda () (interactive "*") (let ((*quotation-prefix* (read-string "挿入文字: "))) (quote-region (mark) (point)))))
hiki にコードを貼り付けるため.今までは秀丸でselection+tabだったんだけど,空行にはタブを入れてくれないので.
PPL2007,加賀かー.行ってみたいなぁ.行く口実が無い orz.
http://www.coins.tsukuba.ac.jp/~i021216/diary/?date=20070110#c01
これって、挿入が LinkedListと同等って言っていいんですかね。gap が無い場合は、ずらすしか無さそうだけど。
でかいコミットをしたが,コメントが足りていなかった雰囲気.すみません orz
型Rubyの人の日記から,http://www.bookman.co.jp/rensai/motenai1.html を,ふむふむ,と見ていたら....大島さんはどう見てもモテ系だろう! 思わず笑ってしまった.
コンサバな服,という表現を見つけたが,いったい何者だろう.GCの話じゃないことはわかる.
http://kw.allabout.co.jp/glossary/g_fashion/w006651.htm
コンサバとは、流行に左右されない控えめなファッションスタイルのこと。
そのまんまだった.しかし,文章を読んでいると,どうにもそうは思えなかったんだよな.
控えめって言っても流行にノリノリじゃないという意味での控えめで、地味という意味じゃないです。あ、対極の流行に乗ってるっていうのも、決してギャル系ではなく、ですね。
コンサバ系GCって、なんかカッコいいですね
対義語は何でしょう?プログレッシブ?
だとすると「流行に左右されがちで派手なファッションスタイル」はこんな感じ? http://www.ee.udel.edu/~xuan/music/pink_floyd/pink%20floyd%2001.jpg
対語は、ハイファッションとかモードかな。
いやいや、んなことないです。いつも楽しみにしてます。(すきゃんだるお待ちしてます)