Phil Nash
@philnash
http:/
/philna.sh
philnash@twilio.com
Slide 3
Slide 3 text
WE HAVE A
PROBLEM
Slide 4
Slide 4 text
RUBY ISN'T
COOL ANYMORE
Slide 5
Slide 5 text
WHY?
Slide 6
Slide 6 text
THE NUMBERS
AREN'T GOING
UP ENOUGH
Slide 7
Slide 7 text
NODE.JS
Slide 8
Slide 8 text
NPM
Slide 9
Slide 9 text
NPM IS MAKING
US LOOK BAD
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
The numbers
Ruby Node.js
Packages 115,566 250,796
Downloads 7,691,140,671 3,787,604,159 in the last month
Slide 12
Slide 12 text
WE KNOW WHY
THOUGH
Slide 13
Slide 13 text
r
e
q
u
i
r
e
(
"
i
s
-
e
v
e
n
"
)
;
Slide 14
Slide 14 text
r
e
q
u
i
r
e
(
"
i
s
-
o
d
d
"
)
;
r
e
q
u
i
r
e
(
"
i
s
-
n
u
m
b
e
r
"
)
;
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
WHO'S BUILT A
GEM BEFORE?
Slide 17
Slide 17 text
LET'S BUILD
ONE NOW!
Slide 18
Slide 18 text
Generate a gem
$ b
u
n
d
l
e g
e
m i
s
_
e
v
e
n
Slide 19
Slide 19 text
Write the code
# l
i
b
/
i
s
_
e
v
e
n
.
r
b
r
e
q
u
i
r
e "
i
s
_
e
v
e
n
/
v
e
r
s
i
o
n
"
m
o
d
u
l
e I
s
E
v
e
n
d
e
f s
e
l
f
.
w
e
l
l
_
i
s
_
i
t
?
(
n
u
m
b
e
r
)
n
u
m
b
e
r
.
e
v
e
n
?
e
n
d
e
n
d
0
1
.
0
2
.
0
3
.
0
4
.
0
5
.
0
6
.
0
7
.
0
8
.
Slide 20
Slide 20 text
Update the gemspec
s
p
e
c
.
s
u
m
m
a
r
y = "
T
e
l
l
s y
o
u i
f a n
u
m
b
e
r i
s e
v
e
n
"
s
p
e
c
.
d
e
s
c
r
i
p
t
i
o
n = "
T
e
l
l
s y
o
u i
f a n
u
m
b
e
r i
s e
v
e
n
"
s
p
e
c
.
h
o
m
e
p
a
g
e = "
h
t
t
p
:
/
/
p
h
i
l
n
a
.
s
h
"
0
1
.
0
2
.
0
3
.
Slide 21
Slide 21 text
Update the gemspec 2
We're pushing to Rubygems, so remove the
a
l
l
o
w
e
d
_
p
u
s
h
_
h
o
s
t metadata
i
f s
p
e
c
.
r
e
s
p
o
n
d
_
t
o
?
(
:
m
e
t
a
d
a
t
a
)
s
p
e
c
.
m
e
t
a
d
a
t
a
[
'
a
l
l
o
w
e
d
_
p
u
s
h
_
h
o
s
t
'
] = "
T
O
D
O
: S
e
t t
o '
h
t
t
p
:
/
/
m
y
e
l
s
e
r
a
i
s
e "
R
u
b
y
G
e
m
s 2
.
0 o
r n
e
w
e
r i
s r
e
q
u
i
r
e
d t
o p
r
o
t
e
c
t a
g
a
i
n
s
t p
e
n
d
0
1
.
0
2
.
0
3
.
0
4
.
0
5
.
Slide 22
Slide 22 text
Release the gem
$ g
e
m b
u
i
l
d i
s
_
e
v
e
n
.
g
e
m
s
p
e
c
$ g
e
m p
u
s
h i
s
_
e
v
e
n
-
0
.
1
.
0
.
g
e
m
Slide 23
Slide 23 text
But seriously
• Building my first gem helped me learn Ruby
Slide 24
Slide 24 text
bitly
Slide 25
Slide 25 text
But seriously
• Building my first gem helped me learn Ruby
• Extracting gems from apps reduced repetition
Slide 26
Slide 26 text
envyable
Slide 27
Slide 27 text
But seriously
• Building my first gem helped me learn Ruby
• Extracting gems from apps reduced repetition
• Creating new gems helped developers use Twilio
Slide 28
Slide 28 text
twiml_template
Slide 29
Slide 29 text
BUILD MORE
GEMS!
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
Disclaimer
I'm not really advocating for the creation of loads
of crap gems. Make useful gems, make gems
you'd want to use, write tests. No Node.js
developers were hurt in the making of this
presentation. No Node.js modules were hurt in the
making of this presentation. Well, maybe some
Node.js modules' feelings were hurt, but they will
recover. Ruby is awesome. You are all awesome.