Poisoning Rubinius: The _why and How

Post on 12-Nov-2014

2,799 views 1 download

Tags:

description

RubyConf X talk

transcript

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 hidingwhere Dave Thomas’

brain is missing!!!

Monday, November 15, 2010

_why struggledwith 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 knewnothing

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 → Compiler

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

Exclaimersuperclass

nilmethod

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, ...]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 0

Instruction Sequence

Monday, November 15, 2010

Virtual Machine

[ :push_literal, “_why ”, :push_local, :blurb, ...]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 0

Instruction Sequence

“_why ”

Monday, November 15, 2010

Virtual Machine

[ ..., :push_local, :blurb, :allow_private, :send_st...]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 2

Instruction Sequence

“_why ”

Monday, November 15, 2010

Virtual Machine

[ ..., :push_local, :blurb, :allow_private, :send_st...]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 2

Instruction Sequence

“_why ”

“rocks”

Monday, November 15, 2010

Virtual Machine

[ ..., :send_stack, :to_s, 0, :push_literal, “!”, :str...]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 5

Instruction Sequence

“_why ”

“rocks”

Monday, November 15, 2010

Virtual Machine

[ ..., :push_literal, “!”, :string_build, 3, :ret]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 8

Instruction Sequence

“_why ”

“rocks”

Monday, November 15, 2010

Virtual Machine

[ ..., :push_literal, “!”, :string_build, 3, :ret]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 8

Instruction Sequence

“_why ”

“rocks”

“!”

Monday, November 15, 2010

Virtual Machine

[ ..., :string_build, 3, :ret]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 10

Instruction Sequence

“_why ”

“rocks”

“!”

Monday, November 15, 2010

Virtual Machine

[ ..., :string_build, 3, :ret]

Source → Parser → Compiler → Virtual Machine

Stack

IP = 10

Instruction Sequence

“_why rocks!”

Monday, November 15, 2010

now, the hard part

Monday, November 15, 2010

Source → Parser → Compiler

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

integrateinter-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/13509215http://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 YOUEVERYONE!!!

(and @tenderlove)

Monday, November 15, 2010