Upgrade to Pro — share decks privately, control downloads, hide ads and more …

12 Years of Ruby

12 Years of Ruby

Keynote, RubyConf indonesia 2017

Sidu Ponnappa

October 06, 2017
Tweet

More Decks by Sidu Ponnappa

Other Decks in Programming

Transcript

  1. LOGO 1991 GWBASIC 1994 QBASIC 1998 C 1999 C++ 1999

    Java 2002 C# 2004 Javascript 2005 Ruby 2005
  2. at GO-JEK since 2015 managing director, GO-JEK India 2015-2016 head,

    data engineering 2016-now head, global talent acquisition 2017-now
  3. developer founder teacher community organiser sales guy marketing guy hr

    guy recruiter project manager product manager
  4. tl;dr i’ve done a bunch of stuff in 12 years

    working, and most of it involved Ruby
  5. developer founder teacher community organiser sales guy marketing guy hr

    guy recruiter project manager product manager
  6. jsp/struts/hibernate vs rails the first aha moment convention > configuration

    mvc activerecord pattern as a lib! reloading! no more server restarts.
  7. ruby was actually slow back then 1.8.x was very slow

    multi process deployments nginx+lighttpd just restart the process!
  8. rails 2.x REST! activeresource (omg, in hindsight it sucked) activerecord

    query cache json serialization support (phew) plugins (awkward!)
  9. phusion passenger + REE finally, a not so painful server

    setup fork friendly ruby 1.8.x implementation better GC easier on memory
  10. importance of specs ruby codebases decay fast migrations from 2.0.x

    to 2.1.x/2.2.x much pain specs saved the day
  11. don’t metaprogram cool 2 edged sword more likely to cut

    me than the problem :) definitely don’t override Object#responds_to? :D
  12. rjs server side rendered js another omg #fail ridiculous amounts

    of coupling so brittle! helped evolve my understand of separation of concerns between frontend and backend
  13. did i say REST? oops, but it was (and is)

    flawed no hypermedia controls a model isn’t a resource actually, a controller represents a resounce level 1 on richardson maturity model
  14. so, results of diy multi-runtime support (mri, rbx, jruby, ironruby)

    (though some are since retired) transparent switch between net/http & libcurl focus on the URI & serialization, not CRUD object oriented & fully specced dev friendly api designed for use with REST endpoints
  15. first conference learned from pycon india thank you, bang-pypers still

    going strong genesis of the emerging technology trust
  16. led to the ett my first non-profit raises > $100k

    annually now runs 3 annual open source confereces funds students contributing to oss connects students to oss mentors thank you satish, gautam, niranjan, ajey
  17. because speccing rails controllers is a pain objects that are

    create in a controller or lib not everyone does DI mocking non-public apis by reading source is scary long, implementation bound mock chain
  18. incredible learning thank you, dchelimsky refactored my PRs, then explained

    them to me (paitiently!) implementation bound specs anti-pattern
  19. proved beauty matters the aesthetic made all the difference both

    visual and narrative style launched at rubyconf xi 8 hours on HN top 3 24 hours on HN homepage
  20. a labour of love but still, no munny :/ learned

    the importance of business make it and they will pay is a fallacy
  21. consistency of language ruby is more consistent than most popular

    choices makes it so easy to teach in one of my favourite teaching languages
  22. redson github.com/kaiwren/redson my usual obsession with ui and ui frameworks

    opal based client side component framework for RoR only a poc, because gojek happened
  23. ruby made me see this ruby was the first language

    that felt beautiful then i discovered there are others seek them, it’s worth it