Ruby; Exported

Ruby; Exported

Sapporo RubyKaigi 2012

B2d653d5d663e750a2cd57bfbc9b727f?s=128

Tatsuhiko Miyagawa

September 15, 2012
Tweet

Transcript

  1. Ruby; Exported Tatsuhiko Miyagawa Sapporo RubyKaigi 2012 Sunday, September 30,

    12
  2. About Me • Tatsuhiko Miyagawa • @miyagawa • San Francisco,

    CA • COOKPAD Inc. US Sunday, September 30, 12
  3. Sunday, September 30, 12

  4. Sunday, September 30, 12

  5. Sunday, September 30, 12

  6. Sunday, September 30, 12

  7. http://www.flickr.com/photos/ya-ko/5086710287/in/set-72157625177557742 Sunday, September 30, 12

  8. Sunday, September 30, 12

  9. Sunday, September 30, 12

  10. Sunday, September 30, 12

  11. Sunday, September 30, 12

  12. Sunday, September 30, 12

  13. Sunday, September 30, 12

  14. Sunday, September 30, 12

  15. Cross Language Pollination Sunday, September 30, 12

  16. Perl's influence in Ruby Sunday, September 30, 12

  17. Sunday, September 30, 12

  18. Sunday, September 30, 12

  19. Ruby Heritage from Perl Sunday, September 30, 12

  20. http://edward.oconnor.cx/2006/03/ruby-is-perl-done-right Sunday, September 30, 12

  21. http://edward.oconnor.cx/2006/03/ruby-is-perl-done-right Sunday, September 30, 12

  22. ARGF Sunday, September 30, 12

  23. Sunday, September 30, 12

  24. Sunday, September 30, 12

  25. %q %Q Sunday, September 30, 12

  26. Sunday, September 30, 12

  27. Sunday, September 30, 12

  28. Sunday, September 30, 12

  29. `` Sunday, September 30, 12

  30. >  `date`   #  =>  "Sat  Sep  15  09:20:07  JST

     2012\n" >  %x{echo  oops  &&  exit  99} #  =>  "echo\n" >  $?.exitstatus #  =>  99 Sunday, September 30, 12
  31. $!  $@  $;  $,  $/  $\ $.  $_  $>  $<

     $$  $? $~  $=  $*  $&  $`  $' Sunday, September 30, 12
  32. Sunday, September 30, 12

  33. Sunday, September 30, 12

  34. Sunday, September 30, 12

  35. Mostly, things you don't like :p Sunday, September 30, 12

  36. "Perl's special variables are one of the biggest mistake I

    made in Ruby." Sunday, September 30, 12
  37. http://blog.nicksieger.com/articles/2007/10/06/obscure-and-ugly-perlisms-in-ruby Sunday, September 30, 12

  38. Gems Sunday, September 30, 12

  39. Sunday, September 30, 12

  40. Sunday, September 30, 12

  41. Sunday, September 30, 12

  42. Sunday, September 30, 12

  43. Ruby's influences in other languages (Perl) Sunday, September 30, 12

  44. Sunday, September 30, 12

  45. Full-stack Web frameworks Sunday, September 30, 12

  46. Sunday, September 30, 12

  47. Sunday, September 30, 12

  48. micro web frameworks Sunday, September 30, 12

  49. Sunday, September 30, 12

  50. Sunday, September 30, 12

  51. DSL Sunday, September 30, 12

  52. Sunday, September 30, 12

  53. Sunday, September 30, 12

  54. Perl Modules for Ruby Sunday, September 30, 12

  55. Sunday, September 30, 12

  56. Sunday, September 30, 12

  57. Sunday, September 30, 12

  58. Sunday, September 30, 12

  59. Sunday, September 30, 12

  60. Sunday, September 30, 12

  61. My Cases Sunday, September 30, 12

  62. Plack / PSGI Sunday, September 30, 12

  63. #  WSGI def  hello(environ,  start_response):    start_response(“200  OK”,  [  

         (‘Content-­‐Type’,  ‘text/plain’)    ])    return  [“Hello  World”] Sunday, September 30, 12
  64. #  Rack app  =  -­‐>(env)  {    return  [  

           200,          {  'Content-­‐Type'  =>  'text/plain'  },            [  'Hello  World'  ]    ] } Sunday, September 30, 12
  65. #  PSGI my  $app  =  sub  {    my  $env

     =  shift;    return  [          200,        [  'Content-­‐Type',  'text/plain'  ],        [  'Hello  World'  ]    ]; }; Sunday, September 30, 12
  66. Sunday, September 30, 12

  67. Sunday, September 30, 12

  68. Sunday, September 30, 12

  69. Sunday, September 30, 12

  70. It's been a huge success. Sunday, September 30, 12

  71. CGI::Application Apache IIS lighttpd CGI.pm CGI fastcgi mod_perl Jifty Mason

    Catalyst Mason::CGIHandler Catalyst::Engine nginx HTTP::Server ::Simple Sunday, September 30, 12
  72. PSGI Plack::Middleware Catalyst CGI::App Jifty Dancer Apache lighttpd HTTP::Server::PSGI Perlbal

    mod_psgi Plack::Handler::* (CGI, FCGI, Apache) Starman Twiggy uWSGI Corona Feersum Mojolicious Sunday, September 30, 12
  73. We chose Rack (over WSGI) to copy from: It's newer

    and simpler. Sunday, September 30, 12
  74. Sunday, September 30, 12

  75. Sunday, September 30, 12

  76. Plack Sunday, September 30, 12

  77. Inspired by: Rack, Werkzeug Sunday, September 30, 12

  78. Sunday, September 30, 12

  79. Sunday, September 30, 12

  80. WSGI: Dec 2003 Rack: Aug 2009 (0.9) Sunday, September 30,

    12
  81. “The nicest thing about being late is that there are

    plenty of things left to steal.” Sunday, September 30, 12
  82. Better late than never Sunday, September 30, 12

  83. Better late than too early :) Sunday, September 30, 12

  84. Cross-language Pollination Sunday, September 30, 12

  85. Sunday, September 30, 12

  86. Sunday, September 30, 12

  87. Sunday, September 30, 12

  88. http://bulknews.typepad.com/blog/2009/10/psgiplack-streaming-is-now-complete.html Sunday, September 30, 12

  89. Sunday, September 30, 12

  90. Sunday, September 30, 12

  91. rubygems Sunday, September 30, 12

  92. Sunday, September 30, 12

  93. Sunday, September 30, 12

  94. rubygems quiet and intuitive. Sunday, September 30, 12

  95. Sunday, September 30, 12

  96. Sunday, September 30, 12

  97. Sunday, September 30, 12

  98. Sunday, September 30, 12

  99. Carton Sunday, September 30, 12

  100. Sunday, September 30, 12

  101. Like Bundler Sunday, September 30, 12

  102. Sunday, September 30, 12

  103. Starman PSGI HTTP Server Sunday, September 30, 12

  104. http://tomayko.com/writings/unicorn-is-unix Sunday, September 30, 12

  105. Sunday, September 30, 12

  106. Sunday, September 30, 12

  107. Name Sunday, September 30, 12

  108. "Naming is Important." Sunday, September 30, 12

  109. Sunday, September 30, 12

  110. Sunday, September 30, 12

  111. Sunday, September 30, 12

  112. Sunday, September 30, 12

  113. Sunday, September 30, 12

  114. CPAN traditionally prefers long names Sunday, September 30, 12

  115. Sunday, September 30, 12

  116. Sunday, September 30, 12

  117. Sunday, September 30, 12

  118. Too many ::’s! Hard to type nor say. People tend

    to shorten the names. e.g. MXMARMR (MooseX::MetaAttribute::Role::Meta::Role) Sunday, September 30, 12
  119. Sunday, September 30, 12

  120. Perl • HTTP::Server::Simple • JSON::XS • Devel::StackTrace • Net::OAuth::Lite •

    Text::CSV_XS Sunday, September 30, 12
  121. Python • python-json • pyoauth2 • pygeoip • PyYAML •

    Numpy Sunday, September 30, 12
  122. Ruby • Yajl • Psych • unicorn • thin •

    puma • doorkeeper • kaminari • paperclip • resque • pry • factory_girl • capybara Sunday, September 30, 12
  123. Perl Descriptive, boring, ::Simple Python Descriptive, confusing, py*, *.py Ruby

    Fancy, creative, chaotic Sunday, September 30, 12
  124. except Frameworks. Django, bottle, Catalyst, Dancer, Mojolicious, Rails, Sinatra Sunday,

    September 30, 12
  125. People tend to love software with names. (citation needed) Sunday,

    September 30, 12
  126. Starman Starlet Twiggy Markapl Corona Pinto Xslate Carton Confusing for

    a bit, but it feels more "real". Sunday, September 30, 12
  127. How it's received: Sunday, September 30, 12

  128. Telling Perl developers "Ruby is awesome" makes them defensive. Sunday,

    September 30, 12
  129. Shipping awesome code inspired by Ruby makes them appreciative Sunday,

    September 30, 12
  130. (We Code) Sunday, September 30, 12

  131. Sunday, September 30, 12

  132. Sunday, September 30, 12

  133. Sunday, September 30, 12

  134. Starman Starlet Twiggy Plack::Handler::FCGI mod_perl 2 HTTP::Server::PSGI H::S::Simple::PSGI CGI Feersum

    uWSGI mod_perl 1.3 0 15 30 45 60 Sunday, September 30, 12
  135. http://www.bofh.org.uk/2010/03/10/falling-out-of-love-with-a-language Sunday, September 30, 12

  136. Sunday, September 30, 12

  137. Quite contrary! Sunday, September 30, 12

  138. Sunday, September 30, 12

  139. Sunday, September 30, 12

  140. Sunday, September 30, 12

  141. Sunday, September 30, 12

  142. Wrap up Sunday, September 30, 12

  143. Perl respects Ruby Sunday, September 30, 12

  144. http://www.artima.com/intv/ruby3.html Sunday, September 30, 12

  145. Sunday, September 30, 12

  146. Sunday, September 30, 12

  147. Sunday, September 30, 12

  148. http://yapcasia.org/2012/talk/show/bcdf8c9e-da9d-11e1-a79e-0d4e6aeab6a4 Sunday, September 30, 12

  149. Thank you. Sunday, September 30, 12