The video above was recorded by a campaign tracker at the private Ruby fundraising event, Keep Ruby Weird on October 28, 2016, in the final days of the campaign.

The video depicts known JavaScript agitant Justin Searls, who spoke for approximately 27 minutes at the rally with a message that advocated restoring Ruby to its former prominence in the open source software community. While the content of the speech contained pointed populist rhetoric, it did not present any specific policy proposals.

Opponents to Ruby have raised concerns that the strong language used by Searls will only embolden Ruby's most radical proponents to take action against JavaScript, the open, standards-based language of the Future™.

Sources in the campaign say that prominent JavaScript leaders are alarmed, fearing that the Ruby community's counter-cultural message could attract developers frustrated by JavaScript's slow-moving, deliberate standards bodies to move the web forward. Campaign officials worry that if a cohesive movement organizes around a non-JavaScript language, it could set back their goal of establishing a new world order in which 100% of new software across the world is finally written in JavaScript.

Test Double does not endorse the contents of this video and Searls has been placed on paid conference speaking leave, pending the outcome of an internal investigation.

Transcript

A transcript of the event follows:

[00:24.033] > Brandon: Ok. While
[00:27.033] Justin is setting up. This is Justin
[00:30.033] Searls. Does everybody know Justin? Hi Justin!
[00:33.033] > Justin: Hello.
[00:36.033] Are you guys ready to hear a talk?
[00:39.033] You believe that you're
[00:42.033] ready for my talk?
[00:45.033] Because I guarantee you are not.
[00:51.033] > Brandon: Alright. So here is
[00:54.033] the real fact about someone who is not Justin
[00:57.033] This person, joined the Army
[01:00.033] to rappel out of helicopters and shoot wire
[01:03.033] guided missiles at tanks. It's a true
[01:06.033] fact, but it is not true about Justin so far as I know
[01:21.033] So, most people don't know this about Justin
[01:24.033] But,
[01:27.033] he tweets. On the Internet
[01:30.033] This is a little know fact about Justin
[01:33.033] Is that he says things on Twitter
            > Justin: hello…
[01:36.033] > Brandon: And, he, umm
            > Justin: I'm a nice guy, I swear
[01:39.033] > Brandon: Alright, I have a fake
            fact about Justin
[01:44.933] He once tweeted a rant so powerful that he made the
[01:47.933] fail whale cry
[01:50.933] > Justin: This is a young crowd. I don't know if
            they remember who the fail whale was
[01:54.133] That was back when Twitter was written with Ruby
[02:00.133] > Brandon: Everybody, Justin Searls, who is
[02:03.133] really great.
[02:09.133] > Justin: Alright, just gotta get set up here. It's a
[02:12.133] complicated talk
[02:15.133] One complication is that I'm not going
            to give this talk as
[02:18.133] myself.
[02:21.133] I'm going to give this talk as somebody else.
[02:27.133] Alright, just gotta button this up
[02:30.133] And, we're off!
[02:33.133] Woo!
[02:36.133] What a great room, Austin—hands down—
[02:39.133] one of my favorite cities. I was telling
            them on the plane
[02:42.133] how TREMENDOUS the crowds in
            Austin are
[02:45.133] Thank you Brandon, he's a really nice
            guy isn't he? Thank you Brandon!
[02:48.133] Alright, please
[02:51.133] live-tweet all of your grievance to
            @searls
[02:57.133] We good? Alright.
[03:00.133] Oh No!
[03:03.133] > Audience: You got a bum mic!
            > Justin: I got a bum mic?
[03:06.133] Oh, right, yeah
[03:09.133] This is a
[03:12.133] dongle conspiracy.
            I think it's weighing down on it
[03:15.133] It's rigged, yeah!
            The dongle is rigged
[03:18.133] Now it just fell out
[03:21.133] We're going to start this one
            just right over
[03:27.133] Here, I'm going to try this way. Ok, so
[03:30.133] let's just call that a do-over
[03:36.133] I just ordered the new MacBook Pro, and so
[03:42.133] It's just Apple calling to me
            Alright, just gotta restart this now
[03:54.133] Woo, alright! Got all the nerves out
[03:57.133] So, yeah, everyone please live-tweet
[04:00.133] your grievances to @searls and I will
            retweet the
[04:03.133] most terrible things that you say.
            If your team needs more
[04:06.133] developers, my company, Test Double,
            our developers
[04:09.133] are the best of the best
[04:12.133] I stand before you today
[04:15.133] to deliver (It's okay, it's intentionally
            black)
[04:18.132] I stand before you today
            to deliver a very simple
[04:21.132] message. Ruby's heroes
            have failed you
[04:24.133] Ruby
[04:27.133] is a SPECTACULAR language, but
            unlike every
[04:30.133] other language, Ruby has
            always been led by heroes
[04:33.133] But today their ineffective
            and spineless leadership
[04:36.133] threatens the very survival
            of Ruby and only we
[04:39.133] who can save it. Together
            we are going to take
[04:42.133] our language back. This goes all
[04:45.133] the way back, folks, to
            how Ruby was first created
[04:48.133] Now in the beginning (unintentional black)
[04:51.133] There was Matz.
[04:54.133] Some people, tell me
            that Matz is a Japanese
[04:57.133] Which, I think, is fantastic
[05:00.133] The Japanese love me
[05:03.133] I am told he's very nice, but that
            was not enough
[05:06.133] for him to become Ruby King. Matz
            was so
[05:09.133] weak it took a decade for Ruby to
            spread beyond Japan
[05:12.133] Seriously! And thanks to Matz's weak
[05:15.133] leadership, we became dependent
            on other Ruby
[05:18.133] heroes. First, came pragmatic Dave
[05:21.133] Thomas and Andy Hunt, who wrote
            a very long (and very
[05:24.133] boring) book about Ruby and pickaxes
[05:27.133] Now this book showed how
            tremendous
[05:30.133] Ruby is, but Prag Dave and Prog Andy
[05:33.133] lined their pockets building a corrupt
            publishing empire
[05:36.133] that today is the biggest source of
            totally
[05:39.133] biased technology books on the planet
[05:42.133] Later, "cheeky" Chad Fowler and
            "Jolly" Jim
[05:45.133] Weirich—so called "community
            organizers"
[05:48.133] went on to create a national ruby
            conference. And together
[05:51.133] they started a service called RubyGems
            so they could
[05:54.133] spread their lies and propaganda
            more
[05:57.133] easily. "Jolly" Jim went so
[06:00.133] far as to make a CORRUPT tool called
            Rake to
[06:03.133] force us to build gems how
            he wanted us to
[06:06.133] The corrupt heroes created RubyGems
            with totally
[06:09.133] open borders, letting in hippies like
[06:12.133] Whacky _why and D-List DHH
[06:15.133] And they've been flooding
            in ever since
[06:18.133] _why acted like the purpose
            of Ruby was
[06:21.133] to make art—he had no respect for
            the free market
[06:24.133] He yanked all of his gems, which was
[06:27.133] totally unprofessional and NOT NICE
[06:30.133] Total Disaster. D-List DHH was so
[06:33.133] desperate to have an MVC
            framework written in Ruby
[06:36.133] that he ported Java's Struts
            as Ruby on Rails
[06:39.133] And, personally, I prefer frameworks
[06:42.133] that weren't ported
[06:45.133] But soon, things settled down.
            The tyranny of heroes
[06:48.133] receded. Ruby entered its golden age
[06:51.133] Developers were unbelievably
            productive
[06:54.133] In no time at all we built hugely
            successful
[06:57.133] companies (and also Daily Deal
[07:00.133] Coupon Sites) and it was
[07:03.133] all thanks to Ruby. Ruby was
[07:06.133] winning. Every new startup was using
            Rails, even
[07:09.133] if their staff had no clue
            how to write Ruby. It
[07:12.133] didn't matter, Ruby's poll numbers
            were through the roof
[07:15.133] Every developer on earth was either
            writing Ruby or
[07:18.133] jealous of people writing Ruby. And
            I remember
[07:21.133] those days. I wrote a lot of
            skinny controllers
[07:24.133] back then, let me tell you. In fact,
            people told me
[07:27.133] that my Ruby was the cleanest code
            they'd ever seen
[07:30.133] We need to get back to that Ruby
[07:33.133] But soon, the establishment
            venture capitalists
[07:36.133] wanted to change Ruby.
            They wanted scale
[07:39.133] They wanted "Enterprise" and
            our feckless
[07:42.133] weak-kneed heroes were all
            too happy to oblige
[07:45.133] "Jumpy" José Valim worked
            to make Rails 2
[07:48.133] thread-safe. The traitor, Zed Shaw,
[07:51.133] made the Mongrel server fast
            and concurrent
[07:54.133] Aloof Yehuda made bundler, a hostile
[07:57.133] takeover of your dependency
            management
[08:00.133] And everyone's favorite,
            "Chicken" Tenderlove
[08:03.133] Spent years of his life
[08:06.133] rewriting the slow and
            confusing ARel API
[08:09.133] for Rails's ActiveRecord,
            which allowed people to
[08:12.133] create MASSIVE enterprise
            SQL statements
[08:15.133] so fast that we didn't
            even stop to ask
[08:18.133] if we should. But now that Ruby
[08:21.133] is mature, your heroes
            got bored and deserted
[08:24.133] you for other languages.
            We're left with
[08:27.133] B-Tier heroes too low energy to
            switch languages
[08:30.133] like Terence Lee and
            Richard Schneeman
[08:33.133] With our heroes gone
[08:36.133] Ruby isn't winning anymore
            Ruby has become a loser
[08:39.133] language and it's time to take action
[08:42.133] As a result, I, Justin A. Searls am
[08:45.133] calling for a total and complete
            shutdown of Ruby
[08:48.133] Heroes switching to Elixir
            and Rust until we
[08:51.133] can figure out what the hell is going on
[08:57.133] We need to start planning for
            life without our heroes
[09:00.133] And if you support me, we can
[09:03.133] Make Ruby Great Again
[09:06.133] We have to look beyond
            the hero system, folks. Their
[09:09.133] phony loyalty to a language
            as delightful as Ruby
[09:12.133] is a disgrace. And you know the
            worst part?
[09:15.133] Heroes have known this for
            years and yet they did nothing
[09:18.133] Here's what a left-wing, agile
[09:21.133] school called Extremist Programming
[09:24.133] They're not willing to call it that
            but let's be honest, it's
[09:27.133] Extremist programming. Here's what
            an extremist programmer
[09:30.133] had to say. "Heroes go it
[09:33.133] alone, working long hours
            writing buggy code to
[09:36.133] accomplish what others think is
            impossible in the time available
[09:39.133] The result is unrealistic expectations by
[09:42.133] management and inevitably results
            in a DEATH
[09:45.133] SPIRAL as the whole team falls further
[09:48.133] and further behind. That's the ballgame
[09:51.133] folks. Heroes knew that they
            were creating a
[09:54.133] death spiral and yet they did nothing
            Truly disgusting
[09:57.133] Now some of our Ruby heroes,
            I assume,
[10:00.133] are good people. Many did
[10:03.133] decent work for the language,
            but they got greedy
[10:06.133] addicted to your retweets
            and cushy conference speaking
[10:09.133] fees, they closed the door on us. Ruby
[10:12.133] heroes became the ultimate insiders
            and they shut us out
[10:15.133] Heroes hid behind shadowy
            acronyms like
[10:18.133] "The NIH" to explain why we should
            use their
[10:21.133] gems instead of writing our own. They
[10:24.133] led our thoughts, and they told us
[10:27.133] that we couldn't be heroes too.
            And then poof
[10:30.133] Those same heroes abandoned us for
[10:33.133] newer, more attractive languages.
            And now we've
[10:36.133] become helpless without them.
            That ends today.
[10:39.133] And by the way, somebody needs to
            say this and I'm not afraid
[10:42.133] to say it. Ruby hero, D-List DHH
[10:45.133] was the WORST abuser of SemVer
[10:48.133] in the history of programming
[10:51.133] And rails-core was a total enabler
[10:54.133] let me be clear, if Rails won't
[10:57.133] lock down their versioning,
            we should lock
[11:00.133] them up.
[11:03.133] The establishment
[11:06.133] venture capitalists that once
            profited off Ruby
[11:09.133] are now shipping our jobs
            to other languages and frameworks
[11:12.133] nobody makes things in Ruby anymore
[11:15.133] We need to send them a message
            They're afraid of
[11:18.133] your power. They know that I'm the
            only one who can
[11:21.133] bring jobs back to Ruby. The venture
[11:24.133] capitalists in their ivory
            tower Silicon Valley
[11:27.133] open plan offices have rigged
[11:30.133] the mainstream media
            like The Failing Hacker News
[11:33.133] against Ruby, if you open a hacker
[11:36.133] newspaper the entire front page
            will tell you to build your
[11:39.133] app in anything but Ruby
            Elixir, Go
[11:42.133] Elm, Clojure, Rust, and of course
[11:45.133] Node.js and React. But for Ruby
[11:48.133] to survive, these other languages
            must be defeated
[11:51.133] It's as simple as that. Our
            ineffective heroes
[11:54.133] have let these other languages
            walk all over us, and
[11:57.133] some Ruby heroes are trying to
            distract from their dirty
[12:00.133] secret that they are in fact only
            1x programmers
[12:03.133] That they falsely claim that I have
            something to hide in my
[12:06.133] Rubocop report.
[12:09.133] These are bald-faced lies
            I promise you I will
[12:12.133] release my full, unabridged
            Rubocop reports
[12:15.133] But, unfortunately, I am currently
[12:18.133] under a code audit, which
[12:21.133] for some reason happens to me
            every single year, I get audited
[12:24.133] I'd be stupid to release them until
[12:27.133] the code audit is complete. Only
            an idiot would release their
[12:30.133] Rubocop report while under audit.
[12:33.133] But I would gladly release
            my Rubocop report
[12:36.133] as soon as Node.js returns the
[12:39.133] 30,000 deleted e-mails that
            Stack Overflow
[12:42.133] says were lost because I
            didn't call catch at the end
[12:45.133] of a Promise chain
[12:48.133] Unbelievable. Node.js
[12:51.133] Such a nasty runtime.
[12:57.133] Our heroes left us out in
            the cold, but I
[13:00.133] guarantee I know more about
            defeating these other languages
[13:03.133] than all of Ruby's heroes put together
[13:06.133] I'll go to the other languages and
            negotiate better deals so that
[13:09.133] Ruby can start winning again. In fact
[13:12.133] I've learned that Ruby hero
            Jumpy José Valim
[13:15.133] is the founder of Elixir
[13:18.133] And because he's a hero,
            people turn a blind eye
[13:21.133] Totally shameless. Jumpy Jose
            founded Elixir and
[13:24.133] he has a secret plan to destroy Ruby
[13:27.133] But, can anyone imagine
            using Elixir? No way.
[13:30.133] It doesn't look very productional to me
[13:33.133] You know, I saw
[13:36.133] some Elixir when I walked by a coworker's
            screen. I wasn't impressed.
[13:39.133] It didn't feel as
[13:42.133] free as Ruby. Ruby was great
            because it was free
[13:45.133] We didn't need heroes to tell
            us how to code. In Ruby's golden
[13:48.133] age, we felt free to write whatever
            weird code we
[13:51.133] wanted. And we need to realize
            that we are
[13:54.133] stranger together.
[13:57.133] A lot of people don't know this,
            but Ruby runs on
[14:00.133] weirdness. Our heroes' failed
            policies left Ruby's
[14:03.133] weird reserves at historic lows
            Our heroes
[14:06.133] use code words like "mature"
            to discourage
[14:09.133] creativity that they deem
            too weird. Heroes
[14:12.133] like "Shady" Sandi Metz would
            rather show you the
[14:15.133] "Syntactically Correct" way to write
            Ruby, but
[14:18.133] I talk to a lot of developers
            and they are sick and tired
[14:21.133] of all of this syntactical correctness
[14:24.133] Ruby heroes called our
[14:27.133] creativity weird because
            they were afraid we
[14:30.133] wouldn't need them anymore. They
            were right to be afraid
[14:33.133] We didn't need them. Anyone
            can make their own
[14:36.133] gems. In fact, I made two
            gems just today
[14:39.133] Tremendous gems. Code climate
[14:42.133] loved them. If we're going
[14:45.133] to save Ruby, we need to rediscover
            its weirdness and the
[14:48.133] first step: stop listening to
            our remaining heroes
[14:51.133] Other than me. Keep listening to me.
[14:54.133] Some people are saying—and I'm not
            saying this—but some people
[14:57.133] I've been told—that we should
            unfollow these heroes
[15:00.133] Heroes like Chicken Tenderlove,
            Ruthless
[15:03.133] Ryan Davis, Cranky Gary Bernhardt
[15:06.133] And by the way, since Chicken
            Tenderlove and Ruthless Ryan
[15:09.133] are the founding members of
            Seattle.rb
[15:12.133] Something needs to be said,
            folks. Most Rubyists
[15:15.133] are too afraid to call
            Seattle.rb what it is
[15:18.133] Radical Parenthetical Terrorism
[15:23.033] It's just horrible More
            parentheses are
[15:26.033] omitted and killed by Rubyists in
            Seattle than anywhere else
[15:29.033] in the world. And our heroes
            stood by and
[15:32.033] did nothing. If you support me
[15:35.033] I will deport Seattle.rb to
            Vancouver Canada
[15:41.033] Without heroes, we'll all need
            to step up
[15:44.033] to make Ruby great again. Post
            on the blogs
[15:47.033] Record a screencast. Start a weird
            newsletter
[15:50.033] And stop reading the lies in The
            Failing Hacker News
[15:53.033] that tell you Ruby isn't great.
            They're liars
[15:56.033] all of them. And I've been doing
            this for years, by the way
[15:59.033] Ask anyone, they will tell you
            that Justin Searls
[16:02.033] writes the wordiest blogs and
            records the longest
[16:05.033] screencasts. And have you seen any
            of my other talks?
[16:08.033] Nobody makes more slides at Ruby
            conferences
[16:11.033] than me, nobody. I build the most
            tremendous slides
[16:14.033] But I'm just one person and
            that's not good enough
[16:17.033] to slow Ruby's demise. We all
            need to
[16:20.033] step up and say what's really
            on our minds. So if you have an idea
[16:23.033] Write your own gem. You
            learn something terrific?
[16:26.033] publish on the blogs. And if you're
            angry about something
[16:29.033] Argue about it with others
            on Twitter dot com
[16:32.033] or on The Failing Hacker News
            comment section, because if we
[16:35.233] can't show that Ruby is a strong
            language, the other
[16:38.233] languages will keep walking all over us
[16:41.233] Back when Ruby was winning
[16:44.233] If someone wanted to learn how to
            make a new web app, people would
[16:47.233] assume that they should learn
            Ruby, but now people learn
[16:50.233] to program computers and don't even
            know what Ruby is, they simply don't
[16:53.233] know. These smug, elitist
            people from other
[16:56.233] languages are ignoring you and
            your hard work
[16:59.233] and to make Ruby great again, we
[17:02.233] have to make deals with
            the other languages
[17:05.233] Starting with the most popular:
[17:08.233] JavaScript.
[17:11.233] JavaScript is a total
[17:14.233] lightweight. Like a lot of you, I
            simply fail to
[17:17.233] understand why JavaScript is
            so popular
[17:20.233] You want my opinion?
            JavaScript is a 4
[17:23.233] Tops.
[17:26.233] Maybe a 5, if it loses the semi-colons
[17:31.033] And JavaScript is very weak on types
[17:34.033] Unbelievable how weak on types
            it is. Have you ever tried to compare
[17:37.033] two Dates? I will be very strong
[17:40.033] on trade with JavaScript,
            because Ruby has tremendous
[17:43.033] wealth. Wealth like you wouldn't
            believe. We have good testing
[17:46.033] We have conventions over
            configuration. We have
[17:49.033] the path of least surprise, which,
            if you've never been there, is
[17:52.033] a beautiful path. The path of
            least surprise. The best path.
[17:55.033] Our weak and ineffective heroes foolishly
[17:58.033] tried to hide JavaScript from us for years
[18:01.033] RJS. Turbolinks. ActionCable
[18:04.933] This weak, isolationist strategy
            totally failed
[18:08.933] And is leading to Ruby dying out
[18:11.433] And that's why I propose we go to
            JavaScript and do what any
[18:14.433] good leader would do: negotiate
            a better deal so that
[18:17.433] Ruby can start winning again
[18:20.433] Instead of continuing
            D-List DHH's failed
[18:23.433] policies of mixing JavaScript into
            our server-side
[18:26.433] HTML, I am going to Build. A. Wall
[18:30.033] Between our Ruby and our JavaScript
[18:33.033] Oh, don't worry, we'll make JavaScript
[18:36.233] pay for all the HTML.
[18:39.233] Ruby will provide—quiet generously
[18:42.233] APIs, but JavaScript is what
            created this mess in our
[18:45.233] Ruby web apps and it will pay to fix it
[18:48.233] We need to be tough on JavaScript
[18:50.633] but I'll also be very very fair, much more
[18:53.633] fair than JavaScript has been
            to us, let me tell you
[18:56.533] Look what they did last time we
            helped them
[18:59.533] By giving them CoffeeScript
[19:02.533] They stole all CoffeeScript's good ideas
[19:05.233] And they totally choked!
            Their interpolation
[19:08.233] is a joke. Their arrow functions
            are a mess
[19:11.233] JavaScript's secret cabal
            of language elites,
[19:14.233] the TC-39, is a total disaster
[19:17.233] Unbelievable. And now some
            truly bad hombres
[19:20.233] Have claimed that my ultimate
[19:23.233] goal is to transpile Ruby into JavaScript
[19:26.233] These are heinous lies and
            nothing could be further
[19:29.233] from the truth. And, besides,
[19:32.233] JavaScript wouldn't be my first choice
            as a transpilation target, let me tell you
[19:37.733] Nice try.
[19:40.133] So people say that Ruby's dead,
            but you're all here
[19:43.133] Aren't you? Look around you in
            this room. You came to this rally
[19:46.133] today because you believe Ruby
            can be great
[19:49.133] But it doesn't feel safe to
            talk about Ruby anymore
[19:52.133] If you're caught using Ruby
            in public, others will
[19:55.133] attack your first amendment rights
            by disagreeing with you
[19:59.833] But we can fight back
[20:02.833] There's a silent majority that
            stands with Ruby
[20:07.433] And the system is rigged, folks
[20:09.833] The establishment venture capitalists
            don't want you to believe Ruby
[20:12.833] has a future. They want teams
            to build over-engineered
[20:15.833] massively complex micro Node.js
[20:18.833] services and React web site apps
[20:21.633] for their unproven startups in
            order to justify
[20:24.633] their pyramid funding schemes.
[20:27.033] They want to ensure that it takes
            thousands of developers to build a
[20:30.033] taxi car app. And numerous years to
            figure out how to
[20:33.033] sync a directory of files to a server
[20:36.033] The establishment venture capitalists
            know how productive Ruby
[20:39.033] development is, but they don't
            want your team to be productive
[20:42.033] They want it to be huge.
[20:45.033] Their entire empire is threatened
            by Ruby's productivity
[20:48.233] I'm in business, I know this better
            than anyone
[20:51.233] The VCs are so desperate that
            they've been digging through my
[20:54.233] old repos—horrible people.
[20:57.233] And so my staff have asked me that I make
            the following statement
[21:00.233] before we continue:
[21:03.233] ahem I apologize
[21:06.233] for using domain specific
            languages in a
[21:09.233] project from 11 years ago
[21:12.233] It was a foolish decision.
            One that I regret
[21:15.233] My use of Ruby DSLs has become
            an unfortunate distraction
[21:18.233] from the issues that really matter
[21:21.233] In truth, it was just locker room code
[21:24.233] That's all it was
[21:26.033] Programmers when working on private
            source code servers use
[21:29.033] DSLs all the time. In fact, even
            the great Chicken
[21:32.033] Tenderlove used RSpec on a project
            as recently
[21:35.033] as last year. Truly disgusting.
[21:38.033] And I gotta tell you I don't
            believe the polls anymore
[21:41.033] I think Ruby's still really, really popular
[21:44.033] Everybody I talk to loves Ruby
            Teams quietly
[21:47.033] use Ruby all around the world
[21:49.333] But Ruby teams are just too busy
            being massively productive
[21:52.933] and making tons of money to stop
            working so they can go
[21:55.533] comment about it on Hacker News
[21:58.533] And, if after all I've done, you
            don't help to save Ruby
[22:02.233] This will have been the biggest
            monumental waste of time and
[22:05.233] energy in my life. If you don't save
[22:08.233] Ruby after this, Austin, I'll be honest
[22:11.233] I'll never forgive you.
            I'll never come back
[22:14.933] But irregardless, I will totally and
[22:17.933] graciously accept the result of
            your team's election for its
[22:21.533] next programming language.
            If. It's. Ruby.
[22:27.333] OK, hat's off!
[22:30.333] Whew!
[22:36.333] I can think so much
[22:39.333] more clearly now
[22:42.333] Let's bring it back to reality
[22:45.333] Where I co-own a serious company
            called Test Double
[22:48.733] And which hopes that you
            all understand what satire is
[22:56.833] So there's a good chance that
            you're very confused right now
[22:59.833] Do I think that heroes who
            made Ruby great are bad people?
[23:02.833] Of course not. Some of my
            best friends are Ruby heroes
[23:06.333] Ok, seriously, I'm done.
            That was the last one
[23:10.233] I was—like Trump—obsessed with being
[23:13.533] validated by others and I made it my
            five year mission to become a Ruby hero
[23:16.533] myself. I wanted to see what it felt
            like to be on the inside. Overall,
[23:19.533] it's been a fantastic experience, if
            a lot of work
[23:22.533] But, when I hear that Ruby isn't
            inclusive
[23:25.533] It's our outsider/insider system
            of thoughtleaders
[23:28.533] that always stood out to me as wrong
[23:31.133] Why is there this huge divide by
            the people who make gems
[23:33.633] and the people who consume them?
            Because we're a very small pond
[23:36.633] in the grand scheme of things, and
            we've just stocked it with some
[23:39.033] relatively big fish. So, that
            makes us unusual
[23:42.033] But, I don't think we've done the job
            of asking ourselves what
[23:45.033] problems our system of Ruby heroes
            has created.
[23:48.033] Because, I can tell you, I've met dozens
            of teams and hundreds of developers
[23:51.033] in my travels, and I've seen what the
            learned helplessness
[23:54.233] that comes from looking to a small,
            vocal minority as the
[23:57.733] solution to every problem can cause
[24:00.733] Worse, we have this habit of
            appeals to authority
[24:03.733] they're very common in Ruby and
            they train people not to be creative
[24:06.933] "Katie wanted to do this, but we told
            her no because Sandi's book says
[24:11.433] …to do it that way instead". These
            sorts of arguments
[24:14.433] suck the joy of programming. "Sam,
            built his own…
[24:17.433] module of plain old Ruby objects,
            but we fixed it by
[24:20.433] deleting them and showing
            him the Rails Way"
[24:23.433] Now Trump-Searls has a point
[24:26.433] Because, as Ruby became mature
            a lot of our heroes left
[24:29.633] Thoughtleaders run on retweets and
[24:32.633] maturity is a known retweet allergen
[24:36.033] So they moved on. And early on,
            most people
[24:39.033] assumed when they came to Ruby—
            because of all these heroes that
[24:41.633] keeping relevant was going to be
            somebody else's job, but now if we
[24:44.433] do nothing, I think that eventually Ruby
            is going to be relegated to
[24:47.433] cute-little scripting language status
            like Perl has
[24:50.433] So even if we want to to replace our
[24:53.433] heroes with new heroes, I don't think
            that's going to work, because Ruby's
[24:56.133] not the hottest language in the world
            anymore. Passively attracting
[24:59.133] tons and tons of new talent. Today,
            that language is called JavaScript.
[25:02.133] So we have to look within
            to chart Ruby's future
[25:04.633] Ruby has its work cut out for it
            and I'd rather that we
[25:07.633] all become heroes than just select
            a handful arbitrarily
[25:10.633] So, it'll be a steep climb, but honestly
            I don't think it's insurmountable
[25:13.633] You look at languages like
            Node.js & Elixir, they
[25:16.633] have really fast async I/O, and that's
            something Ruby could do better
[25:19.633] Rust and Go are just really fast, period
[25:22.633] and that's something that Ruby could
            do better. But if you look at all the other
[25:25.333] popular languages, there are
            opportunities for us to showcase what
[25:28.333] we love about Ruby. Ruby still has
            meaningful things to say
[25:31.533] We have tools and culture that's
            optimized for
[25:34.533] programmer happiness and
            productivity. Promoting
[25:37.533] obviousness via the path of least
            surprise. Consistency
[25:40.533] through well-considered conventions.
            Carefully-designed
[25:43.533] value-based test suites. All
[25:46.533] that represents a niche that's
            really valuable
[25:49.533] even if it's currently out of fashion,
            so the hardest problem in
[25:52.533] application development is not
            achieving performance or physical
[25:55.533] scale; if anything all of these
            innovations we've seen in DevOps
[25:58.533] kind have taken Ruby's performance
            concerns off the table
[26:01.533] Neither is the hardest problem having
            billions of packages to depend on
[26:04.533] In fact, dependency churn is this
            under-appreciated tax
[26:07.533] on a lot of teams' productivity.
            The hardest problem has always
[26:10.533] been long-term maintainability
            and Rubyists are well
[26:13.533] suited, I think, to show
            the world how to build
[26:16.533] more maintainable applications. Ruby's
            focus on programmer happiness
[26:19.533] gives us a certain empathy
            for future maintainers
[26:22.533] Ruby helps Rubyists create
            thoughtful designs, thoughtful
[26:25.533] tests. And the conventions are strong
            enough that your skills are
[26:28.533] portable from project to project
            even over years
[26:31.533] We're already seeing a ton of legacy
            Node.js apps
[26:34.533] Project teams are asking
            "What just happened?"
[26:37.533] "How did we get to this big ball of
            yarn?" Highly maintainable
[26:40.533] and understandable Ruby could
            be one
[26:43.533] potential answer for teams like that
            but we have to show up, so my
[26:46.533] final plea is that if you believe
            that you prefer Ruby
[26:49.533] for some reason, tell people about it
            blog about long-term
[26:52.533] maintainability, even if it's a boring
            topic. Compare Ruby to other
[26:55.533] ecosystems. Screencast tutorials
            about design lessons you're learning
[26:58.533] Even if other people have said them
            before, how you say it will be
[27:01.533] different. Find an organization like
            Girl Develop It or Black
[27:04.533] Girls Code and show them the gentle
            on-ramp of Ruby's
[27:07.533] syntax and community. And I don't
            recommend ever visiting
[27:10.533] the Failing Hacker News, but if
            you're there
[27:13.533] stand up for Ruby. Hacker News drives
            a lot of decisions about
[27:16.533] the tech that companies use,
            which is totally ridiculous but true
[27:19.533] And Ruby is rarely mentioned there
[27:22.533] anymore, because it's not new and
            trendy. So the solution just can't be
[27:25.533] Turmp-like tribalism. It's not us-
[27:28.533] -vs-them. Let's all be polyglots.
            The only way we're going to
[27:31.533] draw in outsiders. So when you work
            in another language, like JavaScript
[27:34.533] empathize! Be kind. Don't assume
            that others
[27:37.533] have had the same lessons that you
            learned doing Ruby. You have
[27:40.533] valuable things to teach them just like
            they have valuable things to teach you
[27:43.533] So, anyway, that's what we try to do
[27:46.533] at my company Test Double. We like
            Ruby a lot, but we also engage
[27:49.533] with people working in other languages
            because we want to help developers
[27:52.533] where they already are. And we're
            looking for help.
[27:55.533] So if you want to work with us, Test
            Double's always hiring,
[27:58.533] always interviewing. If you want
            to Make Ruby Great Again™
[28:01.533] or Make JavaScript Great For The
            First Time™
[28:07.233] Shoot us an e-mail at
            join@testdouble.com. You know
[28:10.233] It's a real easy conversation. We
            don't start with a whiteboard exam
[28:13.233] We just talk to you about who you are
            What you like to do, how you like to work
[28:16.433] And then tell you about how we work and see
            whether or not that sounds like something
[28:19.433] you wanna do.
            Also I have stickers.
[28:22.433] So I'll be around all evening. I got
[28:25.433] a bunch of Test Double stickers and I
            also printed out a thousand Make Ruby
[28:28.433] Great Again stickers, some are already
[28:31.433] in the sticker table in the back, but I've
            got a whole bunch in my bag
[28:34.433] here, so I hope I get a chance to meet
            all of you today.
[28:37.433] Thanks so much for keeping it weird
[28:47.533] > Brandon: Thank you Justin. That was
[28:50.533] problematic.
[28:56.533] I don't think I'm a millennial, because
            I actually am really
[28:59.533] bad at detecting the line where people
            switch back and forth between
[29:02.533] ironically co-opting populist
            rhetoric and
[29:05.533] actually just using it.
[29:08.533] Thank you Justin,
[29:11.533] You're a good dude.

Footnotes

Searls referenced a number of historical figures and events specific to the Ruby community in the talk. The following is a collection of links leading to more information on many of them:

If you enjoy this video, let us know by twitter or e-mail! If you'd like to discuss it, open an issue on our feedback repo!