Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Inside Ruby's VM: The TMI Edition. by Aaron Patterson This is about Ruby's Virtual Machine. Specifically MRI's Virtual Machine. We will take a dive in to how your Ruby code is compiled in to byte code and how that byte code is executed. Once we get a grip on how the VM works, we'll see how to make it perform tricks the likes of which you've never seen! Ok, maybe you have seen them, just not with MRI's virtual machine.
Date
Summary
Markdown supported
The video titled "Inside Ruby's VM: The TMI Edition" features Aaron Patterson discussing Ruby's Virtual Machine (VM), specifically focusing on MRI's VM. Throughout the talk, Patterson provides insights into how Ruby code is compiled into bytecode and executed by the VM, bridging theoretical concepts with real implementation. The session includes: - **Introduction to Ruby VM Internals**: Patterson introduces himself and the talk's theme, emphasizing its focus on the inner workings of the Ruby VM and his personal journey in understanding it, including attempts at creating an ahead-of-time compiler. - **Process of Running a Ruby Program**: He breaks down the execution of a Ruby program into two main steps: preparation (lexer and compiler) and execution (the VM). - **Role of the Lexer and Parser**: Patterson briefly discusses the lexer that transforms the program into tokens, followed by the parser which constructs an abstract syntax tree (AST) from these tokens. While not delving deeply into these two areas, he acknowledges their importance in the context of how the VM processes Ruby code. - **Personal Anecdotes**: Throughout the talk, Patterson shares lighthearted anecdotes about his experience at RubyConf, his cats, and humorous insights to establish rapport with the audience. - **Challenges and Learnings**: He reflects on his attempts at writing an ahead-of-time compiler for Ruby. Although he considers this a 'failure', he rebrands it as a potential for future success, highlighting the importance of learning from failed attempts. In conclusion, Patterson's presentation emphasizes understanding the Ruby VM's internals and how this knowledge can empower developers to make their Ruby code run more effectively. The key takeaway is that while exploring complex systems like Ruby's VM can be challenging, it is through this exploration that developers can innovate and enhance their experience with the language.
Suggest modifications
Cancel