Skip to content

Instantly share code, notes, and snippets.

@searls
Last active August 8, 2017 22:40
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save searls/b4f6169943a2cd4a21aacf14f28e63b5 to your computer and use it in GitHub Desktop.
Save searls/b4f6169943a2cd4a21aacf14f28e63b5 to your computer and use it in GitHub Desktop.

There's Nothing.new under the sun

Abstract

Quick: say something about Ruby that hasn't already been said.

Not easy, right? This community is prolific. In thousands of talks, Ruby's story has been told and retold. We heralded programmer happiness, path of least surprise, and confident code. We unleashed metaprogramming (until we tamed our DSLs). We built apps, tested them to death, and then legacy-rescued them.

What's left to say? We could tell the same stories again, but that wouldn't be very DRY. What we need to hear was often said years ago, so this talk will help us rediscover timeless lessons from our community's greatest hits.

Details

The primary audience for this talk are the people who weren't around to witness Ruby come of age in the western world. For the newest generations, Ruby may seem as "just a language", comparable to a dozen others on syntax and features. What's been lost, I fear, is the transformative cultural shift that Ruby once represented and which the community formed around in the first place. Through this session, new Rubyists will acquire a decade-long track of talks and blog posts via which they can align their own learning with the moment when our community was collectively at the same point. Secondarily, a broader audience will be able to appreciate the moments when someone used Ruby to remind us of the joy of programming (I suspect things might get a little nostalgic for some).

In this talk, I plan to pair with a newer Rubyist co-presenter to reflect both of these extremes. We may banter a bit about how different things were a decade ago, but mostly I'll try to answer their questions & curiosities through voices of the past, from people who explained important topics in Ruby (and design, and testing, and beyond) better than I ever could. In the end, the audience will be armed with a tremendous catalog of evergreen content and a charter to revisit and reflect on it regularly.

The talk will have a celebratory tone, akin to what it feels like to discover a forgotten box full of sentimental (but still useful!) items from the past. We will reference a lot of talks, blog posts, screen casts, resources, and stories—some of which are at risk of being lost to time, even though they still provide value.

Because videos of Ruby talks from 2004 to 2007 are harder to come by, I will probably organize the talk around a few themes—perhaps to address a series of real-world questions from my copresenter—and then jump around chronologically in search of answers to each of them.

By the end of the talk, experienced Rubyists will be reminded of the joy the language brought them and why they loved Ruby in the first place. Newer Rubyists may realize the treasure trove of great content they have at their fingertips, from which old lessons can be learned anew.

Pitch

Every year, a Ruby Central chairperson asks: "raise your hand if this is your first RubyConf." And every year, we're all astounded by how many first year attendees there are. And then we collectively try to give those attendees the best program we can. This talk asks, "what about the 13 programs they never had a chance to see?"

I've been wanting to give this talk for years. Really, ever since I first realized a Ruby project's commit history is an exercise in paleontology: based on the style and shape of Ruby code, I can usually git blame and guess what year it was written. Since that realization, I've had a lot of empathy for newer Rubyists who lack the context of knowing what the community was learning & grappling with in, say, 2009. Even moreso since Jim Weirich passed away, I've often brought him up in my talks, and I've been sad to see fewer and fewer hands go up when I ask who remembers him.

In the broader software field, we're often quick to equate "new" with "better", but if the things we learned from people like Jim & _why are being forgotten, then we should do more to fight against that impulse.

I plan on having a younger co-presenter to keep the talk grounded and focused on providing value to people who could benefit from lessons we learned in the past. For me, it's enough to laugh all over again at Aaron's 2009 unveiling of the Phuby programming language. But for someone newer, explaining where we are by way of how we got here could be incredibly valuable. I imagine a lot of light bulbs going off in the audience's heads as connections are made.

And while I'd be happy anywhere in the program, I'm suggesting this for the "Future of Ruby" track, because I believe that for Ruby to have a bright future, our community needs to do more to appreciate our past. One thing we have that most languages don't is a long history of people who cared a great deal about the technical & human aspects of their craft who then shared it with others. As a community, if we can get in the habit of reminding ourselves of what has made Ruby great, we can motivate ourselves to keep making great things with Ruby.

@caseydriscoll
Copy link

A young co-presenter is a brilliant idea. A whole track should be dedicated just to that concept.

Touching on MINASWAN, it's popularity and contentions, might be helpful for adding more context.

A general tour sounds like a great start, but as a community working to "Remaster them in HD" might be a great internal meme. "Here are three classic talks on RSpec, and here is the HD remaster." In academia, new knowledge must be clearly built on the bedrock of the old. There isn't enough of that clearly laid out in our blog-o-sphere.

Ruby's general historical relationship with the JVM and other 'enterprise' level systems might shed some light on design decisions with Ruby... and the community of 'Rubyists' that emerged.

Looking forward to it!

@samjonester
Copy link

This looks like a fantastic talk!

"The primary audience for this talk are the people who weren't around to witness Ruby come of age in the western world."

This sentence was the most powerful for me personally, convincing me it was something I want to see. I'm also very enthused about the idea of a co-presenter to ask questions about that coming of age. I think it will give the talk an awesome "stage play" feel.


"What's left to say? We could tell the same stories again, but that wouldn't be very DRY. What we need to hear was often said years ago, so this talk will help us rediscover timeless lessons from our community's greatest hits."

This doesn't sound as compelling as the story/history narrative you provide in the Details and Pitch. It feels a little close to preaching "listen to your elders". I think something that feels more like the sentence you have in details, "The talk will have a celebratory tone, akin to what it feels like to discover a forgotten box full of sentimental (but still useful!) items from the past.", would have a more positive impact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment