In June, I traveled to Orlando, Florida to attend the event formerly known as Yet Another Perl Conference (or YAPC::NA), now known as The Perl Conference. This was my second time in a row to attend this conference (after my first attendance back in 2007).
Conferences are a great place to learn how others are using various tools, hear about new features, and interact with the community. If you are speaking, it's a great opportunity to brush up on your subject, which was true for me in the extreme, as I was able to give a talk on the PostgreSQL database, which I hadn't used in a long time (more on that later).
The conference name
The event organizers were able to license the name The Perl Conference from O'Reilly Media, as O'Reilly doesn't hold conferences by this name anymore. This name is now preferred over "YAPC" as it is more friendly to newcomers and more accurately describes the conference. More on the name change.
Notes from the conference
Over the three days of the conference, I was able to take in many talks. Here are some of my more interesting notes from various sessions:
- MetaCPAN is the best way to browse and search for Perl modules. Anyone can help with development of this fine project, via their GitHub.
- Ricardo Signes says "use subroutine signatures!" They are "experimental", but are around to stay.
- Perl6 is written in Perl6 (and something called "Not Quite Perl"). This allows one to read the source to figure out how something is done. (There were many talks on Perl6, which is viewed as a different programming language, not a replacement for Perl5.)
- jq is a command-line utility that can pretty-print JSON (non Perl, but nice!)
- Ricardo Signes gave a talk on encoding that was over my head, but very interesting.
- The presenter of Emacs as Perl IDE couldn't attend, so Damian Conway spoke on VIM as Perl IDE (photo above)
From John Anderson's talk:
- Just say "no" to system Perl. Use plenv or the like.
- There's a DuckDuckGo bang command for searching MetaCPAN: !cpan [module]
- Use JSON::MaybeXS over the plain JSON module.
- Use Moo for object-oriented programming in Perl, or Moose if you must.
- Subscribe to Perl Weekly
- Submit your module on PrePAN first, to receive feedback before posting to CPAN.
- When should I use DBIC?
- Something that has grown organically could be considered "legacy," as it accumulates technical debt
- With DBIC, you can start to manage that debt by adding relationships to your model, even if they aren't in your database
- RapidApp's rdbic can help you visualize an existing database
D. Ruth Bavousett spoke on Perl::Critic, which is a tool for encouraging consistency. Basically, Perl::Critic looks at your source code, and makes suggestions for improvement, etc. These suggestions are known as "policies" and can be configured to enable or disable any of them, or to even write new policies. One suggestion was to create a Git hook to run the perlcritic command at the time code is committed to the source code repository (possibly using App::GitHooks). End Point has its own perlcritic configuration, which I have started trying to use more.
Logan Bell shared Strategies for leading a remote team. Some of the tools and techniques he uses include:
- tmate for terminal sharing
- HipChat, with a chat room just for complaining called "head to desk"
- Holds one-on-one meetings every Monday for those he works with and directs
- Has new team members work on-site with another team member their first week or so, to help understand personalities that don't often come across well over chat
- Tries to have in-person meetings every quarter or at least twice a year, to bring the team together
Finally, my own talk was titled Stranger in a Strange Land: PostgreSQL for MySQL users (video). I hadn't used Postgres in about seven years, and I wanted to get re-acquainted with it, so naturally, I submitted a talk on it to spur myself into action!
In my talk, I covered:
- the history of MySQL and Postgres
- how to pronounce "PostgreSQL"
- why one might be preferred over the other
- how to convert an existing database to Postgres
- and some tools and tips.
I enjoyed giving this talk, and hope others found it helpful. All in all, The Perl Conference was a great experience, and I hope to continue attending in the future!