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.

00:24 > Brandon: Ok. While 00:27 Justin is setting up. This is Justin 00:30 Searls. Does everybody know Justin? Hi Justin! 00:33 > Justin: Hello. 00:36 Are you guys ready to hear a talk? 00:39 You believe that you're 00:42 ready for my talk? 00:45 Because I guarantee you are not. 00:51 > Brandon: Alright. So here is 00:54 the real fact about someone who is not Justin 00:57 This person, joined the Army 01:00 to rappel out of helicopters and shoot wire 01:03 guided missiles at tanks. It's a true 01:06 fact, but it is not true about Justin so far as I know 01:21 So, most people don't know this about Justin 01:24 But, 01:27 he tweets. On the Internet 01:30 This is a little know fact about Justin 01:33 Is that he says things on Twitter 01:36 > Brandon: And, he, umm 01:39 > Brandon: Alright, I have a fake 01:44 He once tweeted a rant so powerful that he made the 01:47 fail whale cry 01:50 > Justin: This is a young crowd. I don't know if 01:54 That was back when Twitter was written with Ruby 02:00 > Brandon: Everybody, Justin Searls, who is 02:03 really great. 02:09 > Justin: Alright, just gotta get set up here. It's a 02:12 complicated talk 02:15 One complication is that I'm not going 02:18 myself. 02:21 I'm going to give this talk as somebody else. 02:27 Alright, just gotta button this up 02:30 And, we're off! 02:33 Woo! 02:36 What a great room, Austin—hands down— 02:39 one of my favorite cities. I was telling 02:42 how TREMENDOUS the crowds in 02:45 Thank you Brandon, he's a really nice 02:48 Alright, please 02:51 live-tweet all of your grievance to 02:57 We good? Alright. 03:00 Oh No! 03:03 > Audience: You got a bum mic! 03:06 Oh, right, yeah 03:09 This is a 03:12 dongle conspiracy. 03:15 It's rigged, yeah! 03:18 Now it just fell out 03:21 We're going to start this one 03:27 Here, I'm going to try this way. Ok, so 03:30 let's just call that a do-over 03:36 I just ordered the new MacBook Pro, and so 03:42 It's just Apple calling to me 03:54 Woo, alright! Got all the nerves out 03:57 So, yeah, everyone please live-tweet 04:00 your grievances to @searls and I will 04:03 most terrible things that you say. 04:06 developers, my company, Test Double, 04:09 are the best of the best 04:12 I stand before you today 04:15 to deliver (It's okay, it's intentionally 04:18 I stand before you today 04:21 message. Ruby's heroes 04:24 Ruby 04:27 is a SPECTACULAR language, but 04:30 other language, Ruby has 04:33 But today their ineffective 04:36 threatens the very survival 04:39 who can save it. Together 04:42 our language back. This goes all 04:45 the way back, folks, to 04:48 Now in the beginning (unintentional black) 04:51 There was Matz. 04:54 Some people, tell me 04:57 Which, I think, is fantastic 05:00 The Japanese love me 05:03 I am told he's very nice, but that 05:06 for him to become Ruby King. Matz 05:09 weak it took a decade for Ruby to 05:12 Seriously! And thanks to Matz's weak 05:15 leadership, we became dependent 05:18 heroes. First, came pragmatic Dave 05:21 Thomas and Andy Hunt, who wrote 05:24 boring) book about Ruby and pickaxes 05:27 Now this book showed how 05:30 Ruby is, but Prag Dave and Prog Andy 05:33 lined their pockets building a corrupt 05:36 that today is the biggest source of 05:39 biased technology books on the planet 05:42 Later, "cheeky" Chad Fowler and 05:45 Weirich—so called "community 05:48 went on to create a national ruby 05:51 they started a service called RubyGems 05:54 spread their lies and propaganda 05:57 easily. "Jolly" Jim went so 06:00 far as to make a CORRUPT tool called 06:03 force us to build gems how 06:06 The corrupt heroes created RubyGems 06:09 open borders, letting in hippies like 06:12 Whacky _why and D-List DHH 06:15 And they've been flooding 06:18 _why acted like the purpose 06:21 to make art—he had no respect for 06:24 He yanked all of his gems, which was 06:27 totally unprofessional and NOT NICE 06:30 Total Disaster. D-List DHH was so 06:33 desperate to have an MVC 06:36 that he ported Java's Struts 06:39 And, personally, I prefer frameworks 06:42 that weren't ported 06:45 But soon, things settled down. 06:48 receded. Ruby entered its golden age 06:51 Developers were unbelievably 06:54 In no time at all we built hugely 06:57 companies (and also Daily Deal 07:00 Coupon Sites) and it was 07:03 all thanks to Ruby. Ruby was 07:06 winning. Every new startup was using 07:09 if their staff had no clue 07:12 didn't matter, Ruby's poll numbers 07:15 Every developer on earth was either 07:18 jealous of people writing Ruby. And 07:21 those days. I wrote a lot of 07:24 back then, let me tell you. In fact, 07:27 that my Ruby was the cleanest code 07:30 We need to get back to that Ruby 07:33 But soon, the establishment 07:36 wanted to change Ruby. 07:39 They wanted "Enterprise" and 07:42 weak-kneed heroes were all 07:45 "Jumpy" José Valim worked 07:48 thread-safe. The traitor, Zed Shaw, 07:51 made the Mongrel server fast 07:54 Aloof Yehuda made bundler, a hostile 07:57 takeover of your dependency 08:00 And everyone's favorite, 08:03 Spent years of his life 08:06 rewriting the slow and 08:09 for Rails's ActiveRecord, 08:12 create MASSIVE enterprise 08:15 so fast that we didn't 08:18 if we should. But now that Ruby 08:21 is mature, your heroes 08:24 you for other languages. 08:27 B-Tier heroes too low energy to 08:30 like Terence Lee and 08:33 With our heroes gone 08:36 Ruby isn't winning anymore 08:39 language and it's time to take action 08:42 As a result, I, Justin A. Searls am 08:45 calling for a total and complete 08:48 Heroes switching to Elixir 08:51 can figure out what the hell is going on 08:57 We need to start planning for 09:00 And if you support me, we can 09:03 Make Ruby Great Again 09:06 We have to look beyond 09:09 phony loyalty to a language 09:12 is a disgrace. And you know the 09:15 Heroes have known this for 09:18 Here's what a left-wing, agile 09:21 school called Extremist Programming 09:24 They're not willing to call it that 09:27 Extremist programming. Here's what 09:30 had to say. "Heroes go it 09:33 alone, working long hours 09:36 accomplish what others think is 09:39 The result is unrealistic expectations by 09:42 management and inevitably results 09:45 SPIRAL as the whole team falls further 09:48 and further behind. That's the ballgame 09:51 folks. Heroes knew that they 09:54 death spiral and yet they did nothing 09:57 Now some of our Ruby heroes, 10:00 are good people. Many did 10:03 decent work for the language, 10:06 addicted to your retweets 10:09 fees, they closed the door on us. Ruby 10:12 heroes became the ultimate insiders 10:15 Heroes hid behind shadowy 10:18 "The NIH" to explain why we should 10:21 gems instead of writing our own. They 10:24 led our thoughts, and they told us 10:27 that we couldn't be heroes too. 10:30 Those same heroes abandoned us for 10:33 newer, more attractive languages. 10:36 become helpless without them. 10:39 And by the way, somebody needs to 10:42 to say it. Ruby hero, D-List DHH 10:45 was the WORST abuser of SemVer 10:48 in the history of programming 10:51 And rails-core was a total enabler 10:54 let me be clear, if Rails won't 10:57 lock down their versioning, 11:00 them up. 11:03 The establishment 11:06 venture capitalists that once 11:09 are now shipping our jobs 11:12 nobody makes things in Ruby anymore 11:15 We need to send them a message 11:18 your power. They know that I'm the 11:21 bring jobs back to Ruby. The venture 11:24 capitalists in their ivory 11:27 open plan offices have rigged 11:30 the mainstream media 11:33 against Ruby, if you open a hacker 11:36 newspaper the entire front page 11:39 app in anything but Ruby 11:42 Elm, Clojure, Rust, and of course 11:45 Node.js and React. But for Ruby 11:48 to survive, these other languages 11:51 It's as simple as that. Our 11:54 have let these other languages 11:57 some Ruby heroes are trying to 12:00 secret that they are in fact only 12:03 That they falsely claim that I have 12:06 Rubocop report. 12:09 These are bald-faced lies 12:12 release my full, unabridged 12:15 But, unfortunately, I am currently 12:18 under a code audit, which 12:21 for some reason happens to me 12:24 I'd be stupid to release them until 12:27 the code audit is complete. Only 12:30 Rubocop report while under audit. 12:33 But I would gladly release 12:36 as soon as Node.js returns the 12:39 30,000 deleted e-mails that 12:42 says were lost because I 12:45 of a Promise chain 12:48 Unbelievable. Node.js 12:51 Such a nasty runtime. 12:57 Our heroes left us out in 13:00 guarantee I know more about 13:03 than all of Ruby's heroes put together 13:06 I'll go to the other languages and 13:09 Ruby can start winning again. In fact 13:12 I've learned that Ruby hero 13:15 is the founder of Elixir 13:18 And because he's a hero, 13:21 Totally shameless. Jumpy Jose 13:24 he has a secret plan to destroy Ruby 13:27 But, can anyone imagine 13:30 It doesn't look very productional to me 13:33 You know, I saw 13:36 some Elixir when I walked by a coworker's 13:39 It didn't feel as 13:42 free as Ruby. Ruby was great 13:45 We didn't need heroes to tell 13:48 age, we felt free to write whatever 13:51 wanted. And we need to realize 13:54 stranger together. 13:57 A lot of people don't know this, 14:00 weirdness. Our heroes' failed 14:03 weird reserves at historic lows 14:06 use code words like "mature" 14:09 creativity that they deem 14:12 like "Shady" Sandi Metz would 14:15 "Syntactically Correct" way to write 14:18 I talk to a lot of developers 14:21 of all of this syntactical correctness 14:24 Ruby heroes called our 14:27 creativity weird because 14:30 wouldn't need them anymore. They 14:33 We didn't need them. Anyone 14:36 gems. In fact, I made two 14:39 Tremendous gems. Code climate 14:42 loved them. If we're going 14:45 to save Ruby, we need to rediscover 14:48 first step: stop listening to 14:51 Other than me. Keep listening to me. 14:54 Some people are saying—and I'm not 14:57 I've been told—that we should 15:00 Heroes like Chicken Tenderlove, 15:03 Ryan Davis, Cranky Gary Bernhardt 15:06 And by the way, since Chicken 15:09 are the founding members of 15:12 Something needs to be said, 15:15 are too afraid to call 15:18 Radical Parenthetical Terrorism 15:23 It's just horrible More 15:26 omitted and killed by Rubyists in 15:29 in the world. And our heroes 15:32 did nothing. If you support me 15:35 I will deport Seattle.rb to 15:41 Without heroes, we'll all need 15:44 to make Ruby great again. Post 15:47 Record a screencast. Start a weird 15:50 And stop reading the lies in The 15:53 that tell you Ruby isn't great. 15:56 all of them. And I've been doing 15:59 Ask anyone, they will tell you 16:02 writes the wordiest blogs and 16:05 screencasts. And have you seen any 16:08 Nobody makes more slides at Ruby 16:11 than me, nobody. I build the most 16:14 But I'm just one person and 16:17 to slow Ruby's demise. We all 16:20 step up and say what's really 16:23 Write your own gem. You 16:26 publish on the blogs. And if you're 16:29 Argue about it with others 16:32 or on The Failing Hacker News 16:35 can't show that Ruby is a strong 16:38 languages will keep walking all over us 16:41 Back when Ruby was winning 16:44 If someone wanted to learn how to 16:47 assume that they should learn 16:50 to program computers and don't even 16:53 know. These smug, elitist 16:56 languages are ignoring you and 16:59 and to make Ruby great again, we 17:02 have to make deals with 17:05 Starting with the most popular: 17:08 JavaScript. 17:11 JavaScript is a total 17:14 lightweight. Like a lot of you, I 17:17 understand why JavaScript is 17:20 You want my opinion? 17:23 Tops. 17:26 Maybe a 5, if it loses the semi-colons 17:31 And JavaScript is very weak on types 17:34 Unbelievable how weak on types 17:37 two Dates? I will be very strong 17:40 on trade with JavaScript, 17:43 wealth. Wealth like you wouldn't 17:46 We have conventions over 17:49 the path of least surprise, which, 17:52 a beautiful path. The path of 17:55 Our weak and ineffective heroes foolishly 17:58 tried to hide JavaScript from us for years 18:01 RJS. Turbolinks. ActionCable 18:04 This weak, isolationist strategy 18:08 And is leading to Ruby dying out 18:11 And that's why I propose we go to 18:14 good leader would do: negotiate 18:17 Ruby can start winning again 18:20 Instead of continuing 18:23 policies of mixing JavaScript into 18:26 HTML, I am going to Build. A. Wall 18:30 Between our Ruby and our JavaScript 18:33 Oh, don't worry, we'll make JavaScript 18:36 pay for all the HTML. 18:39 Ruby will provide—quiet generously 18:42 APIs, but JavaScript is what 18:45 Ruby web apps and it will pay to fix it 18:48 We need to be tough on JavaScript 18:50 but I'll also be very very fair, much more 18:53 fair than JavaScript has been 18:56 Look what they did last time we 18:59 By giving them CoffeeScript 19:02 They stole all CoffeeScript's good ideas 19:05 And they totally choked! 19:08 is a joke. Their arrow functions 19:11 JavaScript's secret cabal 19:14 the TC-39, is a total disaster 19:17 Unbelievable. And now some 19:20 Have claimed that my ultimate 19:23 goal is to transpile Ruby into JavaScript 19:26 These are heinous lies and 19:29 from the truth. And, besides, 19:32 JavaScript wouldn't be my first choice 19:37 Nice try. 19:40 So people say that Ruby's dead, 19:43 Aren't you? Look around you in 19:46 today because you believe Ruby 19:49 But it doesn't feel safe to 19:52 If you're caught using Ruby 19:55 attack your first amendment rights 19:59 But we can fight back 20:02 There's a silent majority that 20:07 And the system is rigged, folks 20:09 The establishment venture capitalists 20:12 has a future. They want teams 20:15 massively complex micro Node.js 20:18 services and React web site apps 20:21 for their unproven startups in 20:24 their pyramid funding schemes. 20:27 They want to ensure that it takes 20:30 taxi car app. And numerous years to 20:33 sync a directory of files to a server 20:36 The establishment venture capitalists 20:39 development is, but they don't 20:42 They want it to be huge. 20:45 Their entire empire is threatened 20:48 I'm in business, I know this better 20:51 The VCs are so desperate that 20:54 old repos—horrible people. 20:57 And so my staff have asked me that I make 21:00 before we continue: 21:03 ahem I apologize 21:06 for using domain specific 21:09 project from 11 years ago 21:12 It was a foolish decision. 21:15 My use of Ruby DSLs has become 21:18 from the issues that really matter 21:21 In truth, it was just locker room code 21:24 That's all it was 21:26 Programmers when working on private 21:29 DSLs all the time. In fact, even 21:32 Tenderlove used RSpec on a project 21:35 as last year. Truly disgusting. 21:38 And I gotta tell you I don't 21:41 I think Ruby's still really, really popular 21:44 Everybody I talk to loves Ruby 21:47 use Ruby all around the world 21:49 But Ruby teams are just too busy 21:52 and making tons of money to stop 21:55 comment about it on Hacker News 21:58 And, if after all I've done, you 22:02 This will have been the biggest 22:05 energy in my life. If you don't save 22:08 Ruby after this, Austin, I'll be honest 22:11 I'll never forgive you. 22:14 But irregardless, I will totally and 22:17 graciously accept the result of 22:21 next programming language. 22:27 OK, hat's off! 22:30 Whew! 22:36 I can think so much 22:39 more clearly now 22:42 Let's bring it back to reality 22:45 Where I co-own a serious company 22:48 And which hopes that you 22:56 So there's a good chance that 22:59 Do I think that heroes who 23:02 Of course not. Some of my 23:06 Ok, seriously, I'm done. 23:10 I was—like Trump—obsessed with being 23:13 validated by others and I made it my 23:16 myself. I wanted to see what it felt 23:19 it's been a fantastic experience, if 23:22 But, when I hear that Ruby isn't 23:25 It's our outsider/insider system 23:28 that always stood out to me as wrong 23:31 Why is there this huge divide by 23:33 and the people who consume them? 23:36 in the grand scheme of things, and 23:39 relatively big fish. So, that 23:42 But, I don't think we've done the job 23:45 problems our system of Ruby heroes 23:48 Because, I can tell you, I've met dozens 23:51 in my travels, and I've seen what the 23:54 that comes from looking to a small, 23:57 solution to every problem can cause 24:00 Worse, we have this habit of 24:03 they're very common in Ruby and 24:06 "Katie wanted to do this, but we told 24:11 …to do it that way instead". These 24:14 suck the joy of programming. "Sam, 24:17 module of plain old Ruby objects, 24:20 deleting them and showing 24:23 Now Trump-Searls has a point 24:26 Because, as Ruby became mature 24:29 Thoughtleaders run on retweets and 24:32 maturity is a known retweet allergen 24:36 So they moved on. And early on, 24:39 assumed when they came to Ruby— 24:41 keeping relevant was going to be 24:44 do nothing, I think that eventually Ruby 24:47 cute-little scripting language status 24:50 So even if we want to to replace our 24:53 heroes with new heroes, I don't think 24:56 not the hottest language in the world 24:59 tons and tons of new talent. Today, 25:02 So we have to look within 25:04 Ruby has its work cut out for it 25:07 all become heroes than just select 25:10 So, it'll be a steep climb, but honestly 25:13 You look at languages like 25:16 have really fast async I/O, and that's 25:19 Rust and Go are just really fast, period 25:22 and that's something that Ruby could 25:25 popular languages, there are 25:28 we love about Ruby. Ruby still has 25:31 We have tools and culture that's 25:34 programmer happiness and 25:37 obviousness via the path of least 25:40 through well-considered conventions. 25:43 value-based test suites. All 25:46 that represents a niche that's 25:49 even if it's currently out of fashion, 25:52 application development is not 25:55 scale; if anything all of these 25:58 kind have taken Ruby's performance 26:01 Neither is the hardest problem having 26:04 In fact, dependency churn is this 26:07 on a lot of teams' productivity. 26:10 been long-term maintainability 26:13 suited, I think, to show 26:16 more maintainable applications. Ruby's 26:19 gives us a certain empathy 26:22 Ruby helps Rubyists create 26:25 tests. And the conventions are strong 26:28 portable from project to project 26:31 We're already seeing a ton of legacy 26:34 Project teams are asking 26:37 "How did we get to this big ball of 26:40 and understandable Ruby could 26:43 potential answer for teams like that 26:46 final plea is that if you believe 26:49 for some reason, tell people about it 26:52 maintainability, even if it's a boring 26:55 ecosystems. Screencast tutorials 26:58 Even if other people have said them 27:01 different. Find an organization like 27:04 Girls Code and show them the gentle 27:07 syntax and community. And I don't 27:10 the Failing Hacker News, but if 27:13 stand up for Ruby. Hacker News drives 27:16 the tech that companies use, 27:19 And Ruby is rarely mentioned there 27:22 anymore, because it's not new and 27:25 Turmp-like tribalism. It's not us- 27:28 -vs-them. Let's all be polyglots. 27:31 draw in outsiders. So when you work 27:34 empathize! Be kind. Don't assume 27:37 have had the same lessons that you 27:40 valuable things to teach them just like 27:43 So, anyway, that's what we try to do 27:46 at my company Test Double. We like 27:49 with people working in other languages 27:52 where they already are. And we're 27:55 So if you want to work with us, Test 27:58 always interviewing. If you want 28:01 or Make JavaScript Great For The 28:07 Shoot us an e-mail at 28:10 It's a real easy conversation. We 28:13 We just talk to you about who you are 28:16 And then tell you about how we work and see 28:19 you wanna do. 28:22 So I'll be around all evening. I got 28:25 a bunch of Test Double stickers and I 28:28 Great Again stickers, some are already 28:31 in the sticker table in the back, but I've 28:34 here, so I hope I get a chance to meet 28:37 Thanks so much for keeping it weird 28:47 > Brandon: Thank you Justin. That was 28:50 problematic. 28:56 I don't think I'm a millennial, because 28:59 bad at detecting the line where people 29:02 ironically co-opting populist 29:05 actually just using it. 29:08 Thank you Justin, 29:11 You're a good dude.

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: