Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
A talk from RubyConfTH, held in Bangkok, Thailand on December 9-10, 2022. Find out more and register for updates for our 2023 conference at https://rubyconfth.com/ RubyConfTH 2022 videos are presented by Cloud 66. https://cloud66.com
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the keynote titled "Ruby & JVM: A (JRuby) Love Story," delivered at RubyConf TH 2022 by speaker Yarden Laifenfeld, the presentation explores the integration of JRuby—an implementation of Ruby that runs on the Java Virtual Machine (JVM)—into debugging environments for production applications. Laifenfeld shares insights from his experience at Rookout, where he works on a unique debugger that operates without halting code execution. Key points from the talk include: - **Background and Role**: Laifenfeld, a software engineer, describes his diverse programming background, predominantly in Ruby, Java, and Go, and introduces Rookout's production debugger. Unlike traditional debuggers, Rookout's allows continuous application performance while inspecting the code's state. - **Understanding JRuby**: He discusses his initial unfamiliarity with JRuby and the research he conducted to grasp its operation atop the JVM, along with a personal experience of developing a to-do list application to understand JRuby's functionalities. - **Building JRuby Support**: The speaker outlines his process of enhancing Rookout's debugger for JRuby integration. He weighs the pros and cons of using the Java debugger versus the Ruby debugger, eventually opting for the simpler Ruby debugger implementation while highlighting key components like attaching the debugger and managing trace points. - **Challenges Faced**: Laifenfeld elaborates on the initial challenges he faced, including configuration issues with Bundler due to JRuby's lack of support for native extensions. He also expresses the complexity of implementing features that allow the debugging of JRuby applications efficiently. - **Performance Insights**: He explains different JRuby compilation modes (interpretation, compilation, JIT), emphasizing how he manipulated these modes to optimize performance, especially concerning startup times and data collection during execution. - **Reflection and Community Engagement**: Throughout the project, he reflects on the importance of overcoming setbacks and learning from community interactions. Ultimately, he finds value in the challenges of being the first to develop a Java-based JRuby debugger. - **Final Thoughts**: Laifenfeld concludes that the choice between JRuby and CRuby should be based on application needs and highlights the advantages of each, particularly recommending JRuby for long-running applications while acknowledging CRuby's broader community support. This engaging talk emphasizes the potential of JRuby within the Ruby ecosystem, encouraging developers to explore its capabilities and consider it for future projects.
Suggest modifications
Cancel