SlideShare a Scribd company logo
1 of 83
Download to read offline
Monday, November 15, 2010
Monday, November 15, 2010
http://www.flickr.com/photos/pragdave/173649119/
Monday, November 15, 2010
http://mislav.uniqpath.com/poignant-guide/book/
Monday, November 15, 2010
•inspire
•diversify
•new
•worse
Monday, November 15, 2010
Monday, November 15, 2010
_why is hiding
where Dave Thomas’
brain is missing!!!
Monday, November 15, 2010
_why struggled
with programming
Monday, November 15, 2010
http://commons.wikimedia.org/wiki/File:Space_Shuttle_Columbia_launching_cropped_2.jpg.jpg
Monday, November 15, 2010
http://commons.wikimedia.org/wiki/File:Space_Shuttle_Columbia_launching_cropped_2.jpg.jpg
Fallacy of Scope
Monday, November 15, 2010
Monday, November 15, 2010
Fallacy of Quality
Monday, November 15, 2010
Monday, November 15, 2010
WEBSCALE
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Toy [noun]: A technological product which is simple and
fun to use, and which may be criticized by some people
as being weak and not suitable for serious work.
Monday, November 15, 2010
•user-oriented & UX
•general BS
•bigger ecosystem
Monday, November 15, 2010
Monday, November 15, 2010
what if you knew
nothing
about programming?
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Potion
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
pause for effect...
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
http://www.sciencemag.org/cgi/content/summary/292/5524/1971c
Monday, November 15, 2010
http://ferryservicestokeywest.com/snorkeling.php
Monday, November 15, 2010
Rubinius
how does it work?
Monday, November 15, 2010
Source → Parser → Compil
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
script
class
name
Exclaimer
superclass
nil
method
blurt
Abstract Syntax Tree
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Virtual Machine
[ :push_literal, “_why ”, :push_local, :blurb, ...]
r → Compiler → Virtual Machine
Stack
IP = 0
Instruction Sequence
Monday, November 15, 2010
Virtual Machine
[ :push_literal, “_why ”, :push_local, :blurb, ...]
r → Compiler → Virtual Machine
Stack
IP = 0
Instruction Sequence
“_why ”
Monday, November 15, 2010
Virtual Machine
[ ..., :push_local, :blurb, :allow_private, :send_st...]
r → Compiler → Virtual Machine
Stack
IP = 2
Instruction Sequence
“_why ”
Monday, November 15, 2010
Virtual Machine
[ ..., :push_local, :blurb, :allow_private, :send_st...]
r → Compiler → Virtual Machine
Stack
IP = 2
Instruction Sequence
“_why ”
“rocks”
Monday, November 15, 2010
Virtual Machine
[ ..., :send_stack, :to_s, 0, :push_literal, “!”, :str...]
r → Compiler → Virtual Machine
Stack
IP = 5
Instruction Sequence
“_why ”
“rocks”
Monday, November 15, 2010
Virtual Machine
[ ..., :push_literal, “!”, :string_build, 3, :ret]
r → Compiler → Virtual Machine
Stack
IP = 8
Instruction Sequence
“_why ”
“rocks”
Monday, November 15, 2010
Virtual Machine
[ ..., :push_literal, “!”, :string_build, 3, :ret]
r → Compiler → Virtual Machine
Stack
IP = 8
Instruction Sequence
“_why ”
“rocks”
“!”
Monday, November 15, 2010
Virtual Machine
[ ..., :string_build, 3, :ret]
r → Compiler → Virtual Machine
Stack
IP = 10
Instruction Sequence
“_why ”
“rocks”
“!”
Monday, November 15, 2010
Virtual Machine
[ ..., :string_build, 3, :ret]
r → Compiler → Virtual Machine
Stack
IP = 10
Instruction Sequence
“_why rocks!”
Monday, November 15, 2010
now, the hard part
Monday, November 15, 2010
Source → Parser → Compil
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtu
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
Source → Parser → Compiler → Virtual Machin
Monday, November 15, 2010
integrate
inter-operate
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
Monday, November 15, 2010
http://www.lulu.com/product/paperback/learn-python-the-hard-way/13509215
http://commons.wikimedia.org/wiki/File:Cornelis_Pietersz._Bega_-_De_Alchemist.jpg
ois
Monday, November 15, 2010
github.com/brixen/poison
po.isono.us
Monday, November 15, 2010
ZOMG THANK YOU
EVERYONE!!!
(and @tenderlove)
Monday, November 15, 2010

More Related Content

Similar to Poisoning Rubinius: The _why and How

RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
ryancanulla
 
CrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef WorkshopsCrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef Workshops
Crossref
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
Wesley Lindamood
 
Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)
jfitzell
 
Dist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN DistributionsDist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN Distributions
Ricardo Signes
 
Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010
Zi Bin Cheah
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
Bastian Hofmann
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
Scott Motte
 
Web Standards Indonesia Tour
Web Standards Indonesia TourWeb Standards Indonesia Tour
Web Standards Indonesia Tour
Zi Bin Cheah
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primer
jsiarto
 

Similar to Poisoning Rubinius: The _why and How (20)

RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
CrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef WorkshopsCrossMark Sneak Peek 2010 CrossRef Workshops
CrossMark Sneak Peek 2010 CrossRef Workshops
 
RubyConf UY 2010
RubyConf UY 2010RubyConf UY 2010
RubyConf UY 2010
 
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
Telco: Voice-Command Personal Agent Service with AWS Cloud (MBL202) | AWS re:...
 
MySQL Sandbox - A toolkit for laziness
MySQL Sandbox - A toolkit for lazinessMySQL Sandbox - A toolkit for laziness
MySQL Sandbox - A toolkit for laziness
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!
 
The Trajectory of Change
The Trajectory of ChangeThe Trajectory of Change
The Trajectory of Change
 
The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010
 
Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)
 
Dist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN DistributionsDist::Zilla - Maximum Overkill for CPAN Distributions
Dist::Zilla - Maximum Overkill for CPAN Distributions
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Github flow
Github flowGithub flow
Github flow
 
Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010
 
Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Web Standards Indonesia Tour
Web Standards Indonesia TourWeb Standards Indonesia Tour
Web Standards Indonesia Tour
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primer
 
Meet Couch DB
Meet Couch DBMeet Couch DB
Meet Couch DB
 

Recently uploaded

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Poisoning Rubinius: The _why and How