< Return to Video

Keep Ruby Weird 2014 - Ten Years of Ruby Conferences: A Dramatic Revue

  • Not Synced
    Hello
  • Not Synced
    my name is Yukihiro Matsumoto
    also known as Matz
  • Not Synced
    it's nice to see a bigger crowd this year
  • Not Synced
    in our first year in 2001
    we had only 33 or so
  • Not Synced
    and last year, maybe 50
  • Not Synced
    Why are we here ?
  • Not Synced
    we are here because Ruby is good enough for many of our tasks
  • Not Synced
    so we do not have to talk about that
  • Not Synced
    so I'm going to talk about
    How Ruby Sucks
  • Not Synced
    and how we can make it better
  • Not Synced
    ...
  • Not Synced
    for exemple, it's slow and inconsistent
  • Not Synced
    how can we fix these
  • Not Synced
    with a major version change from 1.0 to 2.0
  • Not Synced
    this is the opportunity to take one big step
  • Not Synced
    and make big changes which may not be
    backward-compatible
  • Not Synced
    but will make Ruby better
  • Not Synced
    to clarify, Ruby 2 is the next version of the Ruby language
    and Rite is the VM for Ruby 2
  • Not Synced
    the path we will take through Ruby 2
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    then in 1.9 we will work on the syntax changes
  • Not Synced
    I do not know what these changes will be yet
  • Not Synced
    but there will be experiments
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    thank you.
  • Not Synced
    ()
  • Not Synced
    () sorry.
  • Not Synced
    ()
  • Not Synced
    OK!
  • Not Synced
    Here we are.
  • Not Synced
    The first thing we do is called the rails command
  • Not Synced
    to generate the skeleton of the application
  • Not Synced
    so it generates a bunch of things,
    a bunch of files
  • Not Synced
    and on the next step, the very next step
  • Not Synced
    it's starting the ruby server
  • Not Synced
    so, seeing that everything works
  • Not Synced
    you don't need prerequisites to this
  • Not Synced
    except? that you have Ruby on Rails installed
  • Not Synced
    (oh no!)
  • Not Synced
    () sorry guys...
  • Not Synced
    (laughs)
  • Not Synced
    OK!
  • Not Synced
    we're going to do this again
  • Not Synced
    (laughs)
  • Not Synced
    (more laughs)
  • Not Synced
    anyway, ...
  • Not Synced
    bye!
  • Not Synced
    [_why]
  • Not Synced
    to command? in Ruby
  • Not Synced
    is really to learn
  • Not Synced
    it stirs you inside
  • Not Synced
    when I walk down the street and look into
    people's eyes
  • Not Synced
    I can see their excitement about learning Rails
  • Not Synced
    you know?
  • Not Synced
    I can see that they know
    David Heinemeier Hansson
  • Not Synced
    that they want to be him
  • Not Synced
    that they want his ???
    and his ways
  • Not Synced
    there's rushing out the streets to get here
  • Not Synced
    ...and that's pretty cool
  • Not Synced
    (laughs)
  • Not Synced
    so one of the way I've been messing with Ruby
    is with cartoons and stuff
  • Not Synced
    and there's a science behind this,
    it's incredibly thought out
  • Not Synced
    I mean, wow...
    foxes, you know
  • Not Synced
    of all animals
  • Not Synced
    these are the foxes that I use in the book
    I'm working on
  • Not Synced
    and
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    is there personality there ?
    is there feeling ?
  • Not Synced
    Is there humanism ?
  • Not Synced
    Is there humanity in a technical manual ?
  • Not Synced
    Not really.
    there shouldn't be.
  • Not Synced
    Their eyes should be blank, they shouldn't be staring
  • Not Synced
    this is the one I like
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    and that's supposed to be sort of frustrating
  • Not Synced
    ..
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    [Bryan Liles]
  • Not Synced
    Me, I'm going to talk about BDD with RSpec
  • Not Synced
    but I like to test things around
  • Not Synced
    so let's just talk about BDD
  • Not Synced
    or really, let's just talk about testing
    for us normal people
  • Not Synced
    and the real thing I'm trying to get out to
    everyone here is that
  • Not Synced
    Test all the fucking time
  • Not Synced
    (laughs)
  • Not Synced
    so the bible says, "in the beginning"
  • Not Synced
    and in the beginning there was, what ?
  • Not Synced
    There was Perl !
    (laughs)
  • Not Synced
    Perl is what I knew
  • Not Synced
    ... Perl ... Java ?
  • Not Synced
    ..
  • Not Synced
    ...
  • Not Synced
    so then, a couple of years ago
  • Not Synced
    there was this little Danish guy
  • Not Synced
    he looks like a cartoon character
  • Not Synced
    came up with something call Ruby on Rails
  • Not Synced
    and I can't use the logo, 'cause he says I can't
  • Not Synced
    so, with Ruby on Rails
  • Not Synced
    ...
  • Not Synced
    and I was still writing bad tests
  • Not Synced
    ..
  • Not Synced
    ...
  • Not Synced
    some smart guys came up with RSpec
  • Not Synced
    ...
  • Not Synced
    wow, this is hot
  • Not Synced
    but I'm still writing brittle tests, with funky syntax
  • Not Synced
    and it wasn't helping anyone
  • Not Synced
    (laughs)
  • Not Synced
    so I decided I wasn't ready to give up with RSpec
  • Not Synced
    and I studied, and studied, and studied
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    I don't care if it hurts
  • Not Synced
    write the tests first
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    test all the fucking time
  • Not Synced
    (laughs)
  • Not Synced
    [Aaron Patterson]
  • Not Synced
    O-M-G
    O-M-G
  • Not Synced
    Happy thursday everybody!
  • Not Synced
    (laughs)
  • Not Synced
    Welcome to RubyConf 10
  • Not Synced
    I love that it's Rubyconf X
  • Not Synced
    because I think of it as the eXtreme RubyConf
  • Not Synced
    (laughs)
  • Not Synced
    ...?
  • Not Synced
    every time I give a talk, I'm actually very nervous
    up here
  • Not Synced
    and a friend a mine told me:
    when you're upstage, just think
  • Not Synced
    what would Freddy Mercury do ?
  • Not Synced
    so I put this up here to remind myself
    about that, to calm down
  • Not Synced
    so, today we're going to look at
    some tips and tricks
  • Not Synced
    for improving performance in your Ruby code
  • Not Synced
    by looking at things...?
  • Not Synced
    to improve the performance of ARel
  • Not Synced
    so how did I get started with this?
  • Not Synced
    there's a feature I wanted to add to Rails
    for a very long time
  • Not Synced
    and that is prepared statement caching
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    a deeper understanding of ActiveRecord was required
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    and fixing bugs in ActiveRecord
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    and I thought to myself,
    five times slower?
  • Not Synced
    really, five times slower?
  • Not Synced
    how is that possible?
    (laughs)
  • Not Synced
    it is possible
    it really was five times slower
  • Not Synced
    ...
  • Not Synced
    and I thought
    what could possibly go wrong?
  • Not Synced
    so, motivation
  • Not Synced
    why do we care about speed?
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    it's very simple,
    like this
  • Not Synced
    (laughs)
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...?
  • Not Synced
    really, I'm just trolling you
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    When should I make my code faster?
    We need the answer to this
  • Not Synced
    When it isn't fast enough
  • Not Synced
    but then the question is :
    what is fast enough?
  • Not Synced
    Whenever I think about this, I think:
    well, do people notice it?
  • Not Synced
    and what are you comparing it to?
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    and that is subjective
  • Not Synced
    and really, I'm telling you all these things
  • Not Synced
    but I don't want you to believe it
  • Not Synced
    I want you to think critically
  • Not Synced
    and go out and look at this stuff
    and analyse it for yourself
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    method calls, branching and looping
  • Not Synced
    and you need to reduce objects
  • Not Synced
    what I think is interesting, is that
    for clean code
  • Not Synced
    the things to reduce, are exactly the same
  • Not Synced
    therefore
  • Not Synced
    clean code equals performant code
  • Not Synced
    (laughs)
  • Not Synced
    ...in conclusion
  • Not Synced
    AKA the things I've learned
  • Not Synced
    system impact
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    I learned,
    when should I rewrite?
  • Not Synced
    I see it like this
  • Not Synced
    the earliest you should rewrite is when Ryan Davis says so
  • Not Synced
    and the latest you should rewrite is when I say so
  • Not Synced
    (laughs)
  • Not Synced
    ...
  • Not Synced
    [Sandi Metz]
  • Not Synced
    ...?
  • Not Synced
    ...
  • Not Synced
    brace yourself, because some of it is hard
  • Not Synced
    everything will change
  • Not Synced
    everything.
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    I know this is your future
    because it is my task
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    the Internet is at the center of our lives
  • Not Synced
    ..
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    so there you go,
    that's your future
  • Not Synced
    ...
  • Not Synced
    those, unfortunately, are edge cases
  • Not Synced
    this is your real fortune
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    you wouldn't ignore the inevitable
  • Not Synced
    you'll be writing code for this right now
  • Not Synced
    (laughs)
  • Not Synced
    accepting the truth of this fortune
    makes it clear what's important
  • Not Synced
    the MVPs ...?
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    happiness
  • Not Synced
    live as if you'll know you'll die
  • Not Synced
    do. real. things
  • Not Synced
    tell everyone you love them.
    today
  • Not Synced
    you might consider getting a little dog
    (laughs)
  • Not Synced
    Health
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    as a community
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    showing up in small ways makes a big difference
  • Not Synced
    ...
  • Not Synced
    we're bigger than Rails and we're bigger than Ruby
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    from scrolls to codexes
    all the way to composing drums
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    just a second, technical difficulties
    (laughs)
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
    (applause)
  • Not Synced
    [Jim Weirich]
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    these things to mind
  • Not Synced
    so I try not to use that word
  • Not Synced
    so we're trying to talk instead about
    flying robots
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    (laughs)
  • Not Synced
    ..
  • Not Synced
    ....
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    (drone flying)
  • Not Synced
    so that was the argus library
    controlling the drone
  • Not Synced
    and totally not Carol's arm
    (laughs)
  • Not Synced
    ok so here's another program,
    I'm going to have it take off
  • Not Synced
    using a loop two times,
    and making a sweep back and forth
  • Not Synced
    (drone flying)
    Take off...
  • Not Synced
    loopy times,
    swing back and forth
  • Not Synced
    and land.
  • Not Synced
    How about that !
    two successful hardware demos !
  • Not Synced
    (laughs)
  • Not Synced
    (more laughs)
  • Not Synced
    oh who cares...
  • Not Synced
    [Carol] Jeremy,
    Jeremy, Jeremy, Jeremy, Jeremy
  • Not Synced
    [Jeremy] hold on, putting my clothes on
  • Not Synced
    What?
  • Not Synced
    Did you hear about this new conference
    Keep Ruby Weird?
  • Not Synced
    yeah, I've heard all about it
    it sound fun!
  • Not Synced
    OMG, we should submit something!
  • Not Synced
    well, what do we like?
  • Not Synced
    hmm... Conferences!
    [Jeremy] Conferences!
  • Not Synced
    (laughs)
  • Not Synced
    but, how do we make that weird?
  • Not Synced
    [Brenna] Puppets!
    [All] Puppets!
  • Not Synced
    but, do you think people will like it?
  • Not Synced
    (applause)
  • Not Synced
    alright I'm gonna stand up here for a second
  • Not Synced
    there's this mic hanging around
  • Not Synced
    so, a lot went wrong there
  • Not Synced
    (laughs)
  • Not Synced
    but I don't think anybody had more fun
  • Not Synced
    than we did it
  • Not Synced
    so I am up here on a stage, holding a puppet of myself
  • Not Synced
    it's even wearing my earrings
  • Not Synced
    I'm up here with two of my favorites people
    who are still hiding down here
  • Not Synced
    who are also holding puppets of themselves
  • Not Synced
    but this is a amazing moment
    and we are so grateful to everyone
  • Not Synced
    that's made it possible
  • Not Synced
    It's actually you, Brenna
    that made this happen
  • Not Synced
    for every hour of work I put it
    she put in three
  • Not Synced
    so please, everyone,
    some thunderous applause
  • Not Synced
    (thunderous applause)
  • Not Synced
    sharing moments with people
    is why we did this
  • Not Synced
    some like this one are amazing
  • Not Synced
    and most other are ordinary
  • Not Synced
    ...?
  • Not Synced
    maybe those ordinary ones are pretty good
  • Not Synced
    this is a sandy? set, we're doing real things
  • Not Synced
    and it'll keep us coming back
  • Not Synced
    to the keyboard and the frustration
  • Not Synced
    and the endless planning meetings
  • Not Synced
    and the ever-changing tech landscape
  • Not Synced
    Node? will kill me
  • Not Synced
    Jim Weirich passed away early this year,
    as everybody knows
  • Not Synced
    and, through putting on Steel City Ruby
  • Not Synced
    with Carol and a bunch of other people
    in Pittsburgh
  • Not Synced
    I got some time with Jim that I wouldn't had otherwise
  • Not Synced
    we shared a meal or two
  • Not Synced
    we shared some jokes,
  • Not Synced
    and one time we shared a song
    Jim loved to play the ukulele
  • Not Synced
    that was a pretty cool moment
    in the hallway outside Steel City Ruby
  • Not Synced
    three years ago
  • Not Synced
    there's a lot we didn't share though
  • Not Synced
    we didn't share code
  • Not Synced
    we never shared ideas about code or
    the projects we were working on
  • Not Synced
    we never share a long cab ride
    into a airport
  • Not Synced
    or favorites places to get brunch
  • Not Synced
    I never got to share all the weird shit I made with Rake
  • Not Synced
    I guess what we're trying to say up here
    is that
  • Not Synced
    we want to share those moments with you
  • Not Synced
    we don't want to miss another opportunity
    to let someone know the impact
  • Not Synced
    they'd have on our lives
  • Not Synced
    maybe making a puppet that looks kinda like
    Aaron Patterson
  • Not Synced
    is a weird way to do it
    but,
  • Not Synced
    we're standing on the shoulder of giants
  • Not Synced
    and many of them were pretty weird
  • Not Synced
    so thank you again
  • Not Synced
    for giving us a place to hang our hats
  • Not Synced
    thank you for keeping your weird
  • Not Synced
    thank you for optimizing for developer happiness
  • Not Synced
    and for being nice because
    Matz is nice
  • Not Synced
    thank you for all the pictures of weird cats
  • Not Synced
    thank you for all the terrible puns
  • Not Synced
    and thank you, again, for never forgetting
    to test all the fucking time
  • Not Synced
    (applause)
Title:
Keep Ruby Weird 2014 - Ten Years of Ruby Conferences: A Dramatic Revue
Description:

more » « less
Video Language:
English
Duration:
25:22

English subtitles

Incomplete

Revisions