Ruby


 * by Matsumoto Yukihiro(matz)
 * Scripting Language like python, perl
 * Famous with Ruby on Rails web framework
 * Github mirror
 * Command line argument
 * tricky *star operator
 * indenting json
 * basic encodings
 * current method name
 * __method__
 * caller[0]
 * checking method or attribute exists
 * use respond_to?
 * debugging technique
 * removing iconv module
 * gem is still available
 * iconv module is removed in 2.0
 * optparse usage
 * creating Proc from string
 * evaling string enclosed with lambda scope
 * ruby version compatibility
 * Pull request to use #line directive in ruby script.

Document

 * Ruby Hackers Guide
 * Document
 * minimum spec
 * mruby is based on this spec
 * RubyDoc
 * service that can find most ruby document
 * little slow since it is generated dynamically

clone vs. dup

 * initialize_copy document
 * clone copies meta info of the object.
 * dup doesn't copy meta info.

rubyspec

 * document
 * repository
 * can write tests like english grammer

Rake

 * make like build tool that use ruby to write build script.
 * document
 * in mruby it use minirake that is a stand alone script that doesn't require any installation.
 * though Rakefile in mruby can be runned with normal rake

C API Programming

 * Ruby Extension Programming Guide
 * Using with C++ guide
 * writing native gem
 * extending ruby 1.9(pdf)
 * It's difficult to use with C++ because methods cannot have free variables.
 * using method_missing maybe easier but little slow than defining method
 * So it needs to use MACRO like __COUNTER__ or __LINE__
 * rubybind
 * what Object.new does
 * rb_obj_alloc(<- calles function specified with rb_define_alloc_func)
 * rb_obj_call_init(<- calles #initalize method)
 * using RData
 * allocate object with function passing to rb_define_alloc_func
 * official extensions
 * stringio source
 * zlib source
 * handling exceptions
 * use rb_protect
 * example codes