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

RubyNation 2016 Takeways

RubyNation 2016 Takeways

Lightning Talk by Danny and Dave of Mobelux

Avatar for davejmac

davejmac

June 16, 2016

Other Decks in Technology

Transcript

  1. The State of the Union (A ∪ B) • Rubyists

    are continuing to focus on the future of Rails • Rubyists are starting to focus on the future beyond Ruby and Rails • The topic of the conference is not always the main topic • There is a relatively new focus on diversity and non-technical issues • Conference people love stickers
  2. Features of Rails 5 You Haven’t Heard About • Prathamesh

    Sonpatki (@_cha1tanya) • Currently at Big Binary (@bigbinary) • On the Rails Issues team
  3. Puma as Default Web Server • The default development server

    used to be WEBrick • WEBRick is single threaded, single process • Many if not most developers use Puma in development • It’s important to develop and test in a similar environment
  4. Faster Partial Caching • Partial caching has always been a

    time-sink in Rails and now it’s improved
  5. Introducing the Crystal Programming Language • Have a syntax similar

    to Ruby • Statically type-checked but without having to specify the type of variables or method arguments • Be able to call C code by writing bindings to it in Crystal • Compile to efficient native code • Incredibly fast!
  6. Introducing the Crystal Programming Language • Lose dynamic metaprogramming goodies

    like #eval and #send • But with compile time macros we have similar abilities • Receive abstract syntax tree nodes and create code that is pasted into the program during compilation
  7. Introducing the Crystal Programming Language • Allows for type restrictions

    • Neat features are type unions and also underscore matching
  8. Friday Hugs and Cats • Aaron Patterson (@tenderlove) • Currently

    at GitHub (@github) • Core contributor to both Ruby and Rails • Ruby famous
  9. Friday Hugs and Cats • Actual topic is garbage collection

    in Ruby • Garbage collection is how previously used memory is reclaimed • Used to be a manual process but now is handled by higher-level languages • Anyone who has played with the Benchmark gem knows how important but deadly the GC can be for performance
  10. Mark and Sweep • Start GC when the system starts

    running out of memory • Enumerate the roots then visit objects referenced by them recursively and mark them reachable • Any object in memory that is not marked is garbage and collected
  11. Incremental Garbage Collection • Instead of “stopping the world” to

    collect all unreachable objects, it can be done incrementally • Because things can change in between increments, write barriers are used to make sure currently used memory is not collected
  12. Other Technical Talks • ActionCable and ReactJS Tie the Knot

    - Yatish Mehta (@yatish27) • Architecting Multiple Ruby on Rails Applications that Share a Common Code Base - Gregory Hodum (Solution Street) • A Closer Look: Breaking Apart HTTP - Jonathan Keam (@jonnyman9) • What Computer Scientists Know: Talking to the Microprocessor - David Bock (@bokmann) • The Bouncy Path To Trampolines - Nathan Hessler (@spune)
  13. "If code is the colouring pens and lego blocks of

    our times - the tools of creation...
  14. Takeaways • Learn to Teach • Mentor and Volunteer •

    Get the next generation ready for the Future, also Robots
  15. Historical Definition Software that can be freely used, changed, and

    shared (in modified or unmodified form) by anyone
  16. What Can I do? • Contribute Code ◦ https://yourfirstpr.github.io/ •

    Contribute ◦ Community Funding - https://rubytogether.org/ • Educate
  17. Takeaways • Contribute and lead • Open mentality instead of

    “Us vs. Them” • Users are one PR away from being contributors/developers too
  18. Conclusion • It’s important to stay on top of future

    developments in our technologies • It’s important to meet other people in our field • It’s important to see what other people are doing • It’s important to be inspired by other people who are doing what we do • It’s important to spend personal time with your coworkers • It’s important to make goofy jokes and be personable and humble