SlideShare uma empresa Scribd logo
1 de 89
Baixar para ler offline
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...
And so do my slides.
who i am




So, who am I?
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?
I get to work with rock stars.
keynotes, man.



Perigrin asked me to do this keynote at the beginning of December. Five weeks trying to
figure out what to talk about.
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?”
keynotes are difficult.



So keynotes are hard. I struggled with this talk _far_ more than I usually do.
For about a week, my plan was giving this talk, dropping the mic, and walking off stage. That
was a pretty happy week.
keynotes are awesome.



But then I realized that, no, this might be my last chance to get to address the community
like this.
Plus, giving the keynote gave me an excuse to use this image.
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?”
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.
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.
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? “
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.
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.
a manager.




So what am I? And the little asshole voice said, “Dude, you’re a manager.”
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.”
a manager.




Little asshole voice is a big asshole, really.
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.
In other words, in my head, I’m this guy. At least, on my good days.
I HAVE
                   PEOPLE SKILLS
On my bad days, it sometimes feels a little bit more like this.
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.
Luckily, before I ran out of time, this article was published -- on Perl’s 25th birthday, no less.
fuck
                                       that
                                      noise.


I had a pretty strong reaction upon reading the title.
And then I few days later, I saw another article.
fuck
                               that
                              noise.


And I had another reaction.
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.
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.
so, what do we do
                     about this?


Okay, Mr. Wolf, how are you going to fix this?
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.
wait, shit, we tried that.



Whoops.
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.
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?
It is. The good news is, people now aware we’re still around, and so we get to be the subject
of their pity.
(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.)
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”.
The whole situation made me sort of sad, mostly because I was starting to feel more like this
guy than Mr. Wolf.
I even felt a little bit like this guy.
I…I…I could burn down Reddit.
WE DON’T NEED NO WATER.
Maybe Perl is dead.



And then I said it.
Maybe Perl is a dead-end.



And then I talked to Stevan about it.
Why do I care?



I care because I needed something to talk about for this keynote.
Why do we care?



Really, why does it matter? Perl has had a good run.
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?
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.
Crazy stuff.
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.
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.
Perl, Python, Ruby, ... PHP. All just different kinds of hammers, at the end of the day.
What has Perl created?



Maybe we don’t care about Perl as much as we care about what Perl has built.
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.
So, what’s my “generalist and problem solver” take on avoiding that?
Stop talking
                  about
                  Perl.
This may sound counterintuitive given all the marketing talks we’ve had. Here’s the thing.
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.
…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.
Stop talking
                  about
                  Perl.
Talking about Perl at this point doesn’t help.
Quit talking to the echo chamber. (This is actually an anechoic chamber. No sound gets *out*
of it. See what I did there?)
If you start out talking about “Perl”, people flip the bozo bit on you. You get negative fucks.
Start talking
                 about
              cool shit.
My extensive research supports this. (Data not shown.)
Cool shit is the hook.
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.
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.
Aside: we don’t do a great job with talking about conferences on Twitter. 5 tweets in 4 hours?
Sad.
Stop
               talking
              shit, period.
Point #2. Stop wasting your energy on shit that doesn’t matter.
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)
The Perl
          Community:
         Faster, Harder,
         With More
I <3 the Perl community.
Stop
               talking
              shit, period.
So, please stop wasting your time.
Instead, just go and do a thing.
Don’t read the
 comments.
Don’t write
          the comments,
              either.
Corollary to not reading them.
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.
Stop
              talking
             shit, period.
“Somebody is wrong on the Internet” #ohnoes
Start
                     doing
                      shit.
My research also shows that doing shit gets more shit done than talking shit does. (Data also
not shown.)
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.
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.
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.
Talk about
          cool shit.
Talk about cool shit instead. Once people are interested, _then_ explain how Perl makes it
possible.
DO
          cool shit.
Even better, try doing something in a language that isn’t Perl.
Maybe Perl is dead.



And hell, maybe Perl is dead, in which case, you’re gonna need some new skills.
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.
Here’s the really cool
              thing about tools…


Tools aren’t cool.
…their creations
             survive their passing.


But the things we build with them -- they are cool.
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.
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.
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...”
Thank you.
               John SJ Anderson » @genehack » #opw2013




“... I’m John Anderson, you’re the Orlando Perl Workshop, and I FUCKING LOVE YOU!”
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.

Mais conteúdo relacionado

Destaque

BLOG AROUND THE CLOCK
BLOG AROUND THE CLOCKBLOG AROUND THE CLOCK
BLOG AROUND THE CLOCKabg3
 
5. Awareness raising activities of the GIZ Soc Trang project
5. Awareness raising activities of the GIZ Soc Trang project5. Awareness raising activities of the GIZ Soc Trang project
5. Awareness raising activities of the GIZ Soc Trang projectLittle Daisy
 
Tại sao bạn cần có 1 Website
Tại sao bạn cần có 1 WebsiteTại sao bạn cần có 1 Website
Tại sao bạn cần có 1 WebsiteNguyễn Văn Mạnh
 
Geld verdienen im Internet mit neuem MLM!
Geld verdienen im Internet mit neuem MLM!Geld verdienen im Internet mit neuem MLM!
Geld verdienen im Internet mit neuem MLM!playgamesmakemoney
 
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZ
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZHOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZ
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZabg3
 
3 Pastor Reference Form
3 Pastor Reference Form3 Pastor Reference Form
3 Pastor Reference FormYWAM Nashville
 
Competències bàsiques i xarxes social
Competències bàsiques i xarxes socialCompetències bàsiques i xarxes social
Competències bàsiques i xarxes socialabg3
 

Destaque (12)

BLOG AROUND THE CLOCK
BLOG AROUND THE CLOCKBLOG AROUND THE CLOCK
BLOG AROUND THE CLOCK
 
Indicações
IndicaçõesIndicações
Indicações
 
5. Awareness raising activities of the GIZ Soc Trang project
5. Awareness raising activities of the GIZ Soc Trang project5. Awareness raising activities of the GIZ Soc Trang project
5. Awareness raising activities of the GIZ Soc Trang project
 
10 step mrktng plan mh lap
10 step mrktng plan  mh lap 10 step mrktng plan  mh lap
10 step mrktng plan mh lap
 
Tại sao bạn cần có 1 Website
Tại sao bạn cần có 1 WebsiteTại sao bạn cần có 1 Website
Tại sao bạn cần có 1 Website
 
Geld verdienen im Internet mit neuem MLM!
Geld verdienen im Internet mit neuem MLM!Geld verdienen im Internet mit neuem MLM!
Geld verdienen im Internet mit neuem MLM!
 
45 lesons in life
45 lesons in life45 lesons in life
45 lesons in life
 
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZ
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZHOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZ
HOW TO SURVIVE THE DIGITAL JUNGLE ABEL GALVEZ
 
3 Pastor Reference Form
3 Pastor Reference Form3 Pastor Reference Form
3 Pastor Reference Form
 
Competències bàsiques i xarxes social
Competències bàsiques i xarxes socialCompetències bàsiques i xarxes social
Competències bàsiques i xarxes social
 
Tweakers Anonymous
Tweakers AnonymousTweakers Anonymous
Tweakers Anonymous
 
Cross Interface Attacks
Cross Interface AttacksCross Interface Attacks
Cross Interface Attacks
 

Semelhante a There Are Fates Worse Than Death: The OPW2013 Keynote

How To Be A Real Developer In Two Easy Steps
How To Be A Real Developer In Two Easy StepsHow To Be A Real Developer In Two Easy Steps
How To Be A Real Developer In Two Easy Stepsnorthofnormal
 
Proud To Use Perl
Proud To Use PerlProud To Use Perl
Proud To Use PerlDave Cross
 
Is Writing More Important Than Programming
Is Writing More Important Than ProgrammingIs Writing More Important Than Programming
Is Writing More Important Than Programminglegendsland
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic RevisitedAdam Keys
 
Computers for-smart-people
Computers for-smart-peopleComputers for-smart-people
Computers for-smart-peopleKing Mj
 
W.W. Brands 2 Understanding thenet
W.W. Brands 2 Understanding thenetW.W. Brands 2 Understanding thenet
W.W. Brands 2 Understanding thenetscafondram
 
Inside the mind of a master procrastinator - Tim Urban
Inside the mind of a master procrastinator - Tim UrbanInside the mind of a master procrastinator - Tim Urban
Inside the mind of a master procrastinator - Tim Urban67 Golden Rules
 
How To Be A Real Developer In Two Easy Steps!
How To Be A Real Developer In Two Easy Steps!How To Be A Real Developer In Two Easy Steps!
How To Be A Real Developer In Two Easy Steps!northofnormal
 
Cusec Vive Le Feu!
Cusec Vive Le Feu!Cusec Vive Le Feu!
Cusec Vive Le Feu!heri
 
Keynote, LambdaConf 2014 - The Silent Productivity Killer
Keynote, LambdaConf 2014 - The Silent Productivity KillerKeynote, LambdaConf 2014 - The Silent Productivity Killer
Keynote, LambdaConf 2014 - The Silent Productivity KillerPaul Phillips
 
Howtostopsucking
HowtostopsuckingHowtostopsucking
HowtostopsuckingHugo Pinto
 
How to stop sucking and be awesome instead
How to stop sucking and be awesome insteadHow to stop sucking and be awesome instead
How to stop sucking and be awesome insteadcodinghorror
 
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Hugo Pinto
 
Five Lines I Could Not Draw
Five Lines I Could Not DrawFive Lines I Could Not Draw
Five Lines I Could Not DrawLibrato, Inc.
 
A talk about talking!
A talk about talking!A talk about talking!
A talk about talking!Tanya Reilly
 
Game Design, October 8th, 2013
Game Design, October 8th, 2013Game Design, October 8th, 2013
Game Design, October 8th, 2013Miami University
 
2016-How-to-give-a-great-research-talk.pdf
2016-How-to-give-a-great-research-talk.pdf2016-How-to-give-a-great-research-talk.pdf
2016-How-to-give-a-great-research-talk.pdfTony Khánh
 
Production techniques evaluation. - I-C-K
Production techniques evaluation. - I-C-KProduction techniques evaluation. - I-C-K
Production techniques evaluation. - I-C-KIndieKidd
 
Keynote talk: How to stay in love with programming (with notes)
Keynote talk: How to stay in love with programming (with notes)Keynote talk: How to stay in love with programming (with notes)
Keynote talk: How to stay in love with programming (with notes)Camille Fournier
 

Semelhante a There Are Fates Worse Than Death: The OPW2013 Keynote (20)

How To Be A Real Developer In Two Easy Steps
How To Be A Real Developer In Two Easy StepsHow To Be A Real Developer In Two Easy Steps
How To Be A Real Developer In Two Easy Steps
 
Proud To Use Perl
Proud To Use PerlProud To Use Perl
Proud To Use Perl
 
Is Writing More Important Than Programming
Is Writing More Important Than ProgrammingIs Writing More Important Than Programming
Is Writing More Important Than Programming
 
Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
Computers for-smart-people
Computers for-smart-peopleComputers for-smart-people
Computers for-smart-people
 
W.W. Brands 2 Understanding thenet
W.W. Brands 2 Understanding thenetW.W. Brands 2 Understanding thenet
W.W. Brands 2 Understanding thenet
 
Inside the mind of a master procrastinator - Tim Urban
Inside the mind of a master procrastinator - Tim UrbanInside the mind of a master procrastinator - Tim Urban
Inside the mind of a master procrastinator - Tim Urban
 
How To Be A Real Developer In Two Easy Steps!
How To Be A Real Developer In Two Easy Steps!How To Be A Real Developer In Two Easy Steps!
How To Be A Real Developer In Two Easy Steps!
 
Cusec Vive Le Feu!
Cusec Vive Le Feu!Cusec Vive Le Feu!
Cusec Vive Le Feu!
 
Keynote, LambdaConf 2014 - The Silent Productivity Killer
Keynote, LambdaConf 2014 - The Silent Productivity KillerKeynote, LambdaConf 2014 - The Silent Productivity Killer
Keynote, LambdaConf 2014 - The Silent Productivity Killer
 
Howtostopsucking
HowtostopsuckingHowtostopsucking
Howtostopsucking
 
How to stop sucking and be awesome instead
How to stop sucking and be awesome insteadHow to stop sucking and be awesome instead
How to stop sucking and be awesome instead
 
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
 
Five Lines I Could Not Draw
Five Lines I Could Not DrawFive Lines I Could Not Draw
Five Lines I Could Not Draw
 
A talk about talking!
A talk about talking!A talk about talking!
A talk about talking!
 
Game Design, October 8th, 2013
Game Design, October 8th, 2013Game Design, October 8th, 2013
Game Design, October 8th, 2013
 
2016-How-to-give-a-great-research-talk.pdf
2016-How-to-give-a-great-research-talk.pdf2016-How-to-give-a-great-research-talk.pdf
2016-How-to-give-a-great-research-talk.pdf
 
Production techniques evaluation. - I-C-K
Production techniques evaluation. - I-C-KProduction techniques evaluation. - I-C-K
Production techniques evaluation. - I-C-K
 
Keynote talk: How to stay in love with programming (with notes)
Keynote talk: How to stay in love with programming (with notes)Keynote talk: How to stay in love with programming (with notes)
Keynote talk: How to stay in love with programming (with notes)
 
Beyond your studies
Beyond your studiesBeyond your studies
Beyond your studies
 

Mais de John Anderson

Introduction to Git (even for non-developers)
Introduction to Git (even for non-developers)Introduction to Git (even for non-developers)
Introduction to Git (even for non-developers)John Anderson
 
Logs are-magic-devfestweekend2018
Logs are-magic-devfestweekend2018Logs are-magic-devfestweekend2018
Logs are-magic-devfestweekend2018John Anderson
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouJohn Anderson
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning projectJohn Anderson
 
Do you want to be right or do you want to WIN?
Do you want to be right or do you want to WIN?Do you want to be right or do you want to WIN?
Do you want to be right or do you want to WIN?John Anderson
 
An Introduction to Git (even for non-developers)
An Introduction to Git (even for non-developers)An Introduction to Git (even for non-developers)
An Introduction to Git (even for non-developers)John Anderson
 
You got chocolate in my peanut butter! .NET on Mac & Linux
You got chocolate in my peanut butter! .NET on Mac & LinuxYou got chocolate in my peanut butter! .NET on Mac & Linux
You got chocolate in my peanut butter! .NET on Mac & LinuxJohn Anderson
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning projectJohn Anderson
 
Old Dogs & New Tricks: What's New with Perl5 This Century
Old Dogs & New Tricks: What's New with Perl5 This CenturyOld Dogs & New Tricks: What's New with Perl5 This Century
Old Dogs & New Tricks: What's New with Perl5 This CenturyJohn Anderson
 
Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)John Anderson
 
Introduction to Git for Non-Developers
Introduction to Git for Non-DevelopersIntroduction to Git for Non-Developers
Introduction to Git for Non-DevelopersJohn Anderson
 
A Modest Introduction To Swift
A Modest Introduction To SwiftA Modest Introduction To Swift
A Modest Introduction To SwiftJohn Anderson
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning projectJohn Anderson
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouJohn Anderson
 
JSON Web Tokens Will Improve Your Life
JSON Web Tokens Will Improve Your LifeJSON Web Tokens Will Improve Your Life
JSON Web Tokens Will Improve Your LifeJohn Anderson
 
Old Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyOld Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyJohn Anderson
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to SwiftJohn Anderson
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouJohn Anderson
 
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...John Anderson
 

Mais de John Anderson (20)

#speakerlife
#speakerlife#speakerlife
#speakerlife
 
Introduction to Git (even for non-developers)
Introduction to Git (even for non-developers)Introduction to Git (even for non-developers)
Introduction to Git (even for non-developers)
 
Logs are-magic-devfestweekend2018
Logs are-magic-devfestweekend2018Logs are-magic-devfestweekend2018
Logs are-magic-devfestweekend2018
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning project
 
Do you want to be right or do you want to WIN?
Do you want to be right or do you want to WIN?Do you want to be right or do you want to WIN?
Do you want to be right or do you want to WIN?
 
An Introduction to Git (even for non-developers)
An Introduction to Git (even for non-developers)An Introduction to Git (even for non-developers)
An Introduction to Git (even for non-developers)
 
You got chocolate in my peanut butter! .NET on Mac & Linux
You got chocolate in my peanut butter! .NET on Mac & LinuxYou got chocolate in my peanut butter! .NET on Mac & Linux
You got chocolate in my peanut butter! .NET on Mac & Linux
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning project
 
Old Dogs & New Tricks: What's New with Perl5 This Century
Old Dogs & New Tricks: What's New with Perl5 This CenturyOld Dogs & New Tricks: What's New with Perl5 This Century
Old Dogs & New Tricks: What's New with Perl5 This Century
 
Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)Introduction to Git (even for non-developers!)
Introduction to Git (even for non-developers!)
 
Introduction to Git for Non-Developers
Introduction to Git for Non-DevelopersIntroduction to Git for Non-Developers
Introduction to Git for Non-Developers
 
A Modest Introduction To Swift
A Modest Introduction To SwiftA Modest Introduction To Swift
A Modest Introduction To Swift
 
A static site generator should be your next language learning project
A static site generator should be your next language learning projectA static site generator should be your next language learning project
A static site generator should be your next language learning project
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
 
JSON Web Tokens Will Improve Your Life
JSON Web Tokens Will Improve Your LifeJSON Web Tokens Will Improve Your Life
JSON Web Tokens Will Improve Your Life
 
Old Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This CenturyOld Dogs & New Tricks: What's New With Perl5 This Century
Old Dogs & New Tricks: What's New With Perl5 This Century
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to Swift
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
 
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...
Friends Don't Let Friends Browse Unencrypted: Running a VPN for friends and f...
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
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...
  • 2. And so do my slides.
  • 3. who i am So, who am I?
  • 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?
  • 5. I get to work with rock stars.
  • 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.
  • 11. Plus, giving the keynote gave me an excuse to use this image.
  • 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.”
  • 20. a manager. Little asshole voice is a big asshole, really.
  • 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.
  • 28. fuck that noise. And I had another reaction.
  • 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.
  • 33. wait, shit, we tried that. Whoops.
  • 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.
  • 40. I even felt a little bit like this guy.
  • 41. I…I…I could burn down Reddit. WE DON’T NEED NO WATER.
  • 42. Maybe Perl is dead. And then I said it.
  • 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.)
  • 62. Cool shit is the hook.
  • 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.
  • 70. Instead, just go and do a thing.
  • 71. Don’t read the comments.
  • 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.
  • 83. Here’s the really cool thing about tools… Tools aren’t cool.
  • 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.