SlideShare a Scribd company logo
Everything Rubinius
Brian Ford
brixen on {twitter IRC gmail}
RCUY2010
Friday, October 29, 2010
http://www.flickr.com/photos/veganstraightedge
Friday, October 29, 2010
Friday, October 29, 2010
Rubinius runs Ruby
Friday, October 29, 2010
Web
rubini.us
Github
github.com/evanphx/rubinius
IRC
#rubinius
Friday, October 29, 2010
in dog years,
Rubinius is ~28 yrs old
Friday, October 29, 2010
Rubinius
how does it work?
Friday, October 29, 2010
Source → Parser → Compil
Friday, October 29, 2010
Source → Parser → Compiler → Virtu
Friday, October 29, 2010
Source → Parser → Compiler → Virtu
script
class
name
RCUY
superclass
nil
method
name
Friday, October 29, 2010
Source → Parser → Compiler → Virtual Machin
Friday, October 29, 2010
[ ..., :push_literal, “RCUY”, :push_local, :name, ...]
r → Compiler → Virtual Machine → JIT → Gar
Stack
IP = 12
Instruction Sequence
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
[ ..., :push_literal, “RCUY”, :push_local, :name, ...]
IP = 12
“RCUY”
Instruction Sequence
Friday, October 29, 2010
[ ..., :push_literal, “RCUY”, :push_local, :name, ...]
r → Compiler → Virtual Machine → JIT → Gar
Stack
IP = 14
“RCUY”
Instruction Sequence
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
IP = 14
“RCUY”
2010
Instruction Sequence
[ ..., :push_literal, “RCUY”, :push_local, :name, ...]
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
[ ..., :allow_private, :send_stack, :to_s, 0, ...]
IP = 17
“RCUY”
2010
Instruction Sequence
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
[ ..., :allow_private, :send_stack, :to_s, 0, ...]
IP = 17
“RCUY”
“2010”
Instruction Sequence
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
Instruction Sequence
[ ..., :send_stack, :to_s, 0, :string_build, 2, ...]
IP = 20
“RCUY”
“2010”
Friday, October 29, 2010
r → Compiler → Virtual Machine → JIT → Gar
Stack
Instruction Sequence
[ ..., :send_stack, :to_s, 0, :string_build, 2, ...]
IP = 20
“RCUY2010”
Friday, October 29, 2010
→ Virtual Machine → JIT → Garbage Collector
Friday, October 29, 2010
→ Virtual Machine → JIT → Garbage Collector
Friday, October 29, 2010
→ Virtual Machine → JIT → Garbage Collector
Friday, October 29, 2010
chine → JIT → Garbage Collector
Friday, October 29, 2010
chine → JIT → Garbage Collector
script
name
“RCUY2010”
conference
#<RCUY 0x1>
year
#<Time 0x2>
Friday, October 29, 2010
chine → JIT → Garbage Collector
script
name
“RCUY2010”
conference
#<RCUY 0x1>
year
#<Time 0x2>
script
Friday, October 29, 2010
chine → JIT → Garbage Collector
script
name
“RCUY2010”
conference
#<RCUY 0x1>
year
#<Time 0x2>
script name
Friday, October 29, 2010
chine → JIT → Garbage Collector
script name conference
Friday, October 29, 2010
it’s not working
Friday, October 29, 2010
Backtraces
Friday, October 29, 2010
Backtraces
Friday, October 29, 2010
Debugger
Friday, October 29, 2010
Debugger
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Profiler
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Issue Tracker
Friday, October 29, 2010
Issue Tracker
Friday, October 29, 2010
Documentation
Friday, October 29, 2010
Documentation
Friday, October 29, 2010
But wait, there’s more...
coming soon
Friday, October 29, 2010
full Ruby concurrency
Friday, October 29, 2010
support for 1.9
Friday, October 29, 2010
speeeeeed
Friday, October 29, 2010
Microsoft® Windows™
Friday, October 29, 2010
Muchísimas gracias a
Luis Lavena
Friday, October 29, 2010
But wait, there’s more...
Friday, October 29, 2010
let’s talk about
inspiration
Friday, October 29, 2010
Friday, October 29, 2010
Rubinius has inspired
rubyspec
FFI
rapa
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
Friday, October 29, 2010
if you help us,
Rubinius can be the
most awesome Ruby
platform in the
universe
Friday, October 29, 2010
who will commit to
using Rubinius as
the default Ruby for
one day?
Friday, October 29, 2010
Thank you
¡Muchas gracias a todos!
Friday, October 29, 2010

More Related Content

Viewers also liked

Recalling the Catalogue of the Forgotten
Recalling the Catalogue of the ForgottenRecalling the Catalogue of the Forgotten
Recalling the Catalogue of the ForgottenUT Austin: ACA
 
Renewable Open Access; Perceived Concerns & Way Out
Renewable Open Access; Perceived Concerns & Way Out Renewable Open Access; Perceived Concerns & Way Out
Renewable Open Access; Perceived Concerns & Way Out IPPAI
 
La Coruña (Galicia)
La Coruña (Galicia)La Coruña (Galicia)
La Coruña (Galicia)F. Ovies
 

Viewers also liked (6)

Stages
StagesStages
Stages
 
Recalling the Catalogue of the Forgotten
Recalling the Catalogue of the ForgottenRecalling the Catalogue of the Forgotten
Recalling the Catalogue of the Forgotten
 
Ili twiter-full
Ili twiter-fullIli twiter-full
Ili twiter-full
 
Renewable Open Access; Perceived Concerns & Way Out
Renewable Open Access; Perceived Concerns & Way Out Renewable Open Access; Perceived Concerns & Way Out
Renewable Open Access; Perceived Concerns & Way Out
 
Location & urb ops
Location & urb opsLocation & urb ops
Location & urb ops
 
La Coruña (Galicia)
La Coruña (Galicia)La Coruña (Galicia)
La Coruña (Galicia)
 

Similar to RubyConf UY 2010

Everything Rubinius
Everything RubiniusEverything Rubinius
Everything RubiniusEngine Yard
 
Poisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and HowPoisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and HowBrian Ford
 
Hacking for Fun
Hacking for FunHacking for Fun
Hacking for Funamerine
 
Derailed chef update-oct2010
Derailed chef update-oct2010Derailed chef update-oct2010
Derailed chef update-oct2010jtimberman
 
Concurrency
ConcurrencyConcurrency
Concurrencyehuard
 
Responsive Web Design & Webfonts
Responsive Web Design & WebfontsResponsive Web Design & Webfonts
Responsive Web Design & WebfontsNatan
 
Multi dimensional profiling
Multi dimensional profilingMulti dimensional profiling
Multi dimensional profilingbergel
 
Data driven app deploys with chef frontdev
Data driven app deploys with chef frontdevData driven app deploys with chef frontdev
Data driven app deploys with chef frontdevjtimberman
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
Clojure in the Field
Clojure in the FieldClojure in the Field
Clojure in the FieldAaron Bedra
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitSencha
 
Productcamp montreal 2010
Productcamp montreal 2010Productcamp montreal 2010
Productcamp montreal 2010Alistair Croll
 
GDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebGDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebPatrick Chanezon
 

Similar to RubyConf UY 2010 (20)

Everything Rubinius
Everything RubiniusEverything Rubinius
Everything Rubinius
 
Html5 Development
Html5 DevelopmentHtml5 Development
Html5 Development
 
Poisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and HowPoisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and How
 
Hacking for Fun
Hacking for FunHacking for Fun
Hacking for Fun
 
44275732 chef
44275732 chef44275732 chef
44275732 chef
 
Chef
ChefChef
Chef
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 
Derailed chef update-oct2010
Derailed chef update-oct2010Derailed chef update-oct2010
Derailed chef update-oct2010
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Responsive Web Design & Webfonts
Responsive Web Design & WebfontsResponsive Web Design & Webfonts
Responsive Web Design & Webfonts
 
Multi dimensional profiling
Multi dimensional profilingMulti dimensional profiling
Multi dimensional profiling
 
Data driven app deploys with chef frontdev
Data driven app deploys with chef frontdevData driven app deploys with chef frontdev
Data driven app deploys with chef frontdev
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Clojure in the Field
Clojure in the FieldClojure in the Field
Clojure in the Field
 
Rejectkaigi 2010
Rejectkaigi 2010Rejectkaigi 2010
Rejectkaigi 2010
 
Github flow
Github flowGithub flow
Github flow
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
 
Productcamp montreal 2010
Productcamp montreal 2010Productcamp montreal 2010
Productcamp montreal 2010
 
OpenStack SDForum
OpenStack SDForumOpenStack SDForum
OpenStack SDForum
 
GDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebGDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social Web
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

RubyConf UY 2010