Nell’iperspazio con Rocket: il Framework Web di Rust!
There Are Fates Worse Than Death: The OPW2013 Keynote
1. there are fates
worse than death:
the OPW2013 keynote
John SJ Anderson » @genehack » #OPW2013
Not to suggest that giving this keynote _is_ a fate worse than death...
4. who i am
• 10-15 years of Perl
• couple modules on CPAN
• DCBPW organizer,
beginners list listmom
• that guy that takes a lot
of pictures of food.
• team lead/consultant,
infinity interactive
Just this guy, ya know?
6. keynotes, man.
Perigrin asked me to do this keynote at the beginning of December. Five weeks trying to
figure out what to talk about.
7. keynotes are different.
Different because they’re not supposed to be technical, but instead big picture/inspirational.
Plus there’s the pressure of all the great keynotes we’ve had in the Perl community. The
question facing every keynote speaker: “What am I telling you for an hour that’s worth
keeping you from beer?”
8. keynotes are difficult.
So keynotes are hard. I struggled with this talk _far_ more than I usually do.
9. For about a week, my plan was giving this talk, dropping the mic, and walking off stage. That
was a pretty happy week.
10. keynotes are awesome.
But then I realized that, no, this might be my last chance to get to address the community
like this.
12. how i think of myself:
i’m a perl programmer.
So I said to myself, you’re a perl programmer, what do you want to hear about? And then the
little asshole voice I’ve got inside my head said, “Oh, really, you’re a perl programmer, are
you?”
13. in 2012 i coded in...
• AppleScript • Lua
• (ba|z)sh • Perl
•C • Python
• Groovy • Ruby
• Javascript • Scala
• Lisp • SQL
Little asshole said, “What did you code in last year?” So I made a list.
14. i shouldn’t self-identify as
“a perl programmer”
anymore.
And I had to admit, the little asshole voice in my head had a point. I’m not a Perl
programmer.
15. how i think of myself:
a programmer
who uses perl a lot.
So I said to myself, “Okay, you’re a programmer who uses Perl, what do you want to hear
about in a keynote?” And then the little asshole voice said, “Oh, you’re a programmer, are
you? “
16. in 2012 i
also “coded” in…
• HTML • Jira
• CSS • Email
• Linux • Managing my team
• MacOS X • Managing my bosses
• Git • Managing my clients
Little asshole voice said, “What else did you do last year?” So, I made another list.
17. maybe i shouldn’t self-identify as
“a programmer”
anymore either.
And I had to admit, the little asshole voice in my head again had a point. I’m lucky if I spend
half my time programming.
18. a manager.
So what am I? And the little asshole voice said, “Dude, you’re a manager.”
19. a manager.
who gets to code a
little, sometimes, maybe.
Little asshole voice continued: “Hell, look, you’ve even got a Macbook Air, the laptop of
managers everywhere. Developers need more RAM than that thing has.”
21. how i want to
think of myself:
generalist & problem solver
After thinking for it a bit, I realized that this is really the best description for what I do. I
know a little bit about a whole lot of things, and I’m good at dropping into the middle of a
messy situation, figuring out what’s up, and coming up with a solution for whatever the
problem at hand is.
22. In other words, in my head, I’m this guy. At least, on my good days.
23. I HAVE
PEOPLE SKILLS
On my bad days, it sometimes feels a little bit more like this.
24. But, let’s ignore that. If I’m really Mr. Wolf, figuring out a keynote talk shouldn’t be that big of
a deal, right? You’d think.
25. Luckily, before I ran out of time, this article was published -- on Perl’s 25th birthday, no less.
26. fuck
that
noise.
I had a pretty strong reaction upon reading the title.
27. And then I few days later, I saw another article.
29. there are fates
worse than death.
The good news was, I had the theme I needed to tie together the points I wanted to make in
my talk.
30. Fates worse than death: (a) being a non-coding manager, (b) being the new Cobol, (c) being
the go-to comparison when somebody wants to call something old, crufty, and overripe for
replacement.
31. so, what do we do
about this?
Okay, Mr. Wolf, how are you going to fix this?
32. maybe we can
start over!
Well, since languages are just code, and since everybody knows codebases have a finite
lifespan, maybe we could just start over.
34. well, how about if we
talk up the language
and blog about it and ...
Okay, maybe what we have is a marketing problem. I bet it’s just that people don’t know
about all the cool stuff people do with Perl and how many people are still using it and stuff.
35. wait, wait, hold up,
we tried that too.
how’s that going?
Oh, right, we’ve been marketing the hell out of Perl for a couple years now. That’s doing
_something_, right?
36. It is. The good news is, people now aware we’re still around, and so we get to be the subject
of their pity.
37. (This isn’t to run down the efforts of all the people that have been out there plugging the hell
out of Perl. I think that was totally necessary, and it did make a difference -- but I also think
it’s done about all it’s going to do.)
38. fuck.
that.
noise.
I don’t want to be the new Cobol, or the default example of “crap that should be replaced
with something that doesn’t suck so bad”.
39. The whole situation made me sort of sad, mostly because I was starting to feel more like this
guy than Mr. Wolf.
43. Maybe Perl is a dead-end.
And then I talked to Stevan about it.
44. Why do I care?
I care because I needed something to talk about for this keynote.
45. Why do we care?
Really, why does it matter? Perl has had a good run.
46. After all,
programming languages
are just tools.
If we buy the conventional wisdom that “Programming languages are tools”, shouldn’t we
_expect_ Perl to go away at some point?
47. Tools aren’t as
interesting as what they
enable us to create.
Plus, tools aren’t really that interesting in and of themselves. Tools are cool because they let
us build stuff.
49. Initial Reactions
• “WHY?” - most people
• “COOL!” - some people
• “Hey, that gives me
an idea…” - a few
people
• “What brand of wrench
did you use on those
bolts?” - NOBODY,
NEVER.
But the cool thing about the crazy stuff is the thing that got made, not the things that were
used to make the thing.
50. The languages we “compete” with
the most are really just different
dialects of the same Ur-language.
I mean, it’s not like there aren’t a bunch of languages that have ripped off^W^Wbeen inspired
by Perl’s design.
51. Perl, Python, Ruby, ... PHP. All just different kinds of hammers, at the end of the day.
52. What has Perl created?
Maybe we don’t care about Perl as much as we care about what Perl has built.
53. The Perl community.
If Perl the language disappeared tomorrow, I wouldn’t miss the language much, if at all. If the
community evaporates, however, I will be crushed.
54. So, what’s my “generalist and problem solver” take on avoiding that?
55. Stop talking
about
Perl.
This may sound counterintuitive given all the marketing talks we’ve had. Here’s the thing.
56. The only guy who enjoys you
talking about Perl is the one
waiting for you to stop talking…
I just started a new “dynamic languages” group in my town. First meeting, about 20 people
showed up. Some Rubyists, some PHPers, a few .Net developers. I was the only person using
Perl.
57. …so he can deliver the
“Is Perl6 done yet?”
joke he read on HN.
And as soon as I said, “I mainly code in Perl”, somebody across the room said “When’s Perl6
coming out”, and everybody laughed.
58. Stop talking
about
Perl.
Talking about Perl at this point doesn’t help.
59. Quit talking to the echo chamber. (This is actually an anechoic chamber. No sound gets *out*
of it. See what I did there?)
60. If you start out talking about “Perl”, people flip the bozo bit on you. You get negative fucks.
61. Start talking
about
cool shit.
My extensive research supports this. (Data not shown.)
63. We do a lot of
cool shit.
The Perl community does a lot of cool shit. We have better, more affordable conferences than
*anybody*. Other communities are catching up as far as module repositories and install tools,
but they can’t match stuff like CPAN Testers.
64. Start talking
about
cool shit.
Point #1: talk about cool shit. Use social media like Twitter, or blogs. Don’t lead with Perl,
lead with cool shit. Once you have them hooked on the cool shit, then reveal the Perl if you
must.
65. Aside: we don’t do a great job with talking about conferences on Twitter. 5 tweets in 4 hours?
Sad.
66. Stop
talking
shit, period.
Point #2. Stop wasting your energy on shit that doesn’t matter.
67. Rather than use specific examples from the community, here’s a clip from “SLC Punk” that
makes the same point. (Used without permission under the Fair Use provision -- if you’re
looking at the PDF version, the clip is at http://www.youtube.com/watch?
feature=player_detailpage&v=_nwGndfR4l4#t=113s)
68. The Perl
Community:
Faster, Harder,
With More
I <3 the Perl community.
69. Stop
talking
shit, period.
So, please stop wasting your time.
72. Don’t write
the comments,
either.
Corollary to not reading them.
73. When you
read the
comments…
Everybody always says, “Don’t read the comments.” Really, that’s a sort of a lie, because we
all do it, and we’re all going to continue doing it. It’s a natural thing. Just do it behind a
locked door, wash your hands afterwards, and understand that we don’t talk about it.
74. Stop
talking
shit, period.
“Somebody is wrong on the Internet” #ohnoes
75. Start
doing
shit.
My research also shows that doing shit gets more shit done than talking shit does. (Data also
not shown.)
76. Important subpoint: when you do shit and then talk about it, make sure you do it in terms
that make sense outside the echo chamber.
77. Go outside.
• Start a “Dynamic Languages” group
• Attend a Python users group, or Ruby, or
Scala, or Clojure...
• Start an “Oddball Languages” group
• Visit your local hackerspace
• Mentor a high school student, or a DIYer
Here are just a few things to consider doing.
78. Don’t talk
about
Perl.
And remember, when you go outside the community and do these things... don’t talk about
Perl. At least not at first.
79. Talk about
cool shit.
Talk about cool shit instead. Once people are interested, _then_ explain how Perl makes it
possible.
80. DO
cool shit.
Even better, try doing something in a language that isn’t Perl.
81. Maybe Perl is dead.
And hell, maybe Perl is dead, in which case, you’re gonna need some new skills.
82. Maybe Perl is a dead-end.
Unless you’re happy being the guy supporting the “new COBOL” system that they’re only
keeping around because it’s not worth replacing yet.
84. …their creations
survive their passing.
But the things we build with them -- they are cool.
85. The Perl
Diaspora
I think at this point, one of the best ways to save Perl -- or at least the Perl community -- is
for everybody in the Perl community to start making a strong and concerted effort to turn
outwards, towards all the other communities.
86. This is a band called The Hold Steady, one of my favorite bands. If you ever get a chance to
go to one of their shows, I highly recommend it, it’s the closest thing to a truly ecstatic
experience I’ve ever had. Their frontman, Craig Finn, closes all their shows with a little
speech that I’m going to steal, because I think it fits the Perl community well.
87. There is so much
joy
in what we do.
It goes something like this: “We’ve come to the point in the evening where I only have one
thing left to say. And I’m not going to pretend that I haven’t said it before, but it could not be
more true. There is so much JOY in what we do...”
88. Thank you.
John SJ Anderson » @genehack » #opw2013
“... I’m John Anderson, you’re the Orlando Perl Workshop, and I FUCKING LOVE YOU!”
89. Spread the joy.
2nd DCBPW » 4.20.2013
Thanks for coming to OPW (or looking at these slides on the web), thanks to Perigrin for
putting together another great OPW. Hope to see you all next year.
Share the joy.