Recommended Small eigen collider ruby kaigi 2011
Doing A Bradbury With Heckle
YHA Japan travel night (internet version)
Railscamp lousy tshirt draft
RubyKaigi2014: Just in Time compiler for CRuby
Programming camp Codereading
Why did I become a ruby committer
Code Reading at Security and Programming camp 2011
Programming camp code reading
Sourcecode Reading Workshop2010
20101001-Introduction-to-Developer-Testing-With-Ruby
Ruby – The Scripting Language
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Programming camp 2008, Codereading
More Related Content Small eigen collider ruby kaigi 2011
Doing A Bradbury With Heckle
Viewers also liked (6) YHA Japan travel night (internet version)
Railscamp lousy tshirt draft
Similar to Small eigen collider ruby kaigi 2011 (20) RubyKaigi2014: Just in Time compiler for CRuby
Programming camp Codereading
Why did I become a ruby committer
Code Reading at Security and Programming camp 2011
Programming camp code reading
Sourcecode Reading Workshop2010
20101001-Introduction-to-Developer-Testing-With-Ruby
Ruby – The Scripting Language
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Programming camp 2008, Codereading
Ruby2.0 - refinements - 鳥取Ruby会 第11回
More from Andrew Grimm (20) Finding Japanese Flatmates with Ruby (English and Japanese)
Tootle returning to rails
Finding Japanese flatmates with Ruby
Curing AIDS, with programming
Curing AIDS, with programming
Memoirs of a programmer (internet version)
Japanese: a programmers language
Ruby for newbies Lake Ainsworth
How to talk like a ge1sha
Making easy roommate easy
What has source control ever done for us?
Only You Can Prevent Cthulhu
Small eigen collider ruby kaigi 20111. Andrew Grimm University of New South Wales ニューサウスウェールズ大学 (UNSW) RubyKaigi 2011 日本 Ruby 会議 2011 Finding Black Holes in Ruby with the Small Eigen Collider 小型特異衝突型加速器で Ruby 内のブラックホールの特異点を見つける方法 2. tl;dr Too Long, Didn't Read( 長過ぎてよんでられない ) Creates random code. Metaprogramming magic! 26. How slow is my application? 私のアプリのスピード Currently using YARV Ruby 1.9.1 43. How do I know it'll give the correct results? 45. What kind of errors worry me? どういうエラーが心配? Large, obvious bugs that cause an exception are fine 53. Even JRuby is not immune JRubyも例に漏れず Made mistakes in the complicated task of splitting a file into lines 55. How many bugs cause 0 failures? Fail しないバグはいくつ? 3 bugs caused 1 unit test failure each 59. How can I be sure there weren't others? どのように他のエラーがないことを確認することができる? Rubinius and JRuby had failed me. RubySpec had failed me. 63. Bugs are simple ソフトウェアのバグは簡単 Isolate them to a single failure, not several failures 71. I'm happy to report that this is the first ever "Rubinius doesn't support flipflop" bug. I've been waiting for this day. 73. I'll go ahead and implement it now, I was waiting for someone to report it. It only took 5 years. 76. How Small Eigen Collider Works 小型特異衝突型加速器はどう動く? Create same tasks, run on different Rubies, compare results 84. Task creation – objects タスクの作成 - オブジェクト Receiver and parameters are objects chosen at random, with a random number of parameters 86. Task creation – method タスクの作成 - メソッド Potential methods based on reflection 91. Result comparison Receiver object: “a” Method: “casecmp” Parameters: [“b”] Result: -1 diff MRI_output.txt rubinius_output.txt 180c180 < Result: -1 --- > Result: 1 結果の比較 104. Inconsistencies in inspect inspect の結果が実装ごとに異なる inspect has different results between implementations Default: #<StringIO:0x10169cfd8> 117. String#casecmp testing describe "String#casecmp" do it "is a case-insensitive version of String#<=>" do "abcdef".casecmp("abcde").should == 1 "aBcDeF".casecmp("abcdef").should == 0 "abcdef".casecmp("abcdefg").should == -1 "abcdef".casecmp("ABCDEF").should == 0 end # Snipped I18N tests end Testing everything except “happy path”! 119. Other bugs found by SEC SEC で見つかったバグ YAML.load(YAML.dump(Regexp.new('',0,'n'))) 124. Other bugs independent of SEC SEC とは別に見つかったバグ "XabXcd".split("X", 2) # => ["ab"] but no "cd"