This week has been The Perl Conference in Pittsburgh or TPCiP (a tough acronym for the forearms to write). For some reason flights from Toronto to Pittsburgh all require a layover somewhere, and the shortest flight is 7 hours. Of course this does not include the time it takes to get to and from the airport, nor customs and security clearance. The drive is only 6 hours.

The Sessions

I always intend to take notes as the presentation are happening. This rarely happens as I get more drawn into the presentation. It’s either pay attention or take notes, and I’d rather pay attention.

Happy Campers: Lessons Learned from Scouting’s Premier Leadership Course

This talk discusses the parallelisms between open source communities (focusing on the Perl Community) and the Boy Scouts of America. Both of which need to evolve with the changing times.

Chris relates his experience attending leadership courses to demonstrate the similarities, and how the Boy Scouts are handling the challenges.

Chris’s message echoed parts of what Sawyer X said during his talk Perl 5: The Past, The Present, and One Possible Future when calling for a clear and focused direction for Perl 5.

Organized Development with tmux

While I use tmux daily and am fairly fluent with it, if I learn one thing from this talk the return on investment is huge.

Sure enough within the first 10 minutes, Doug discusses the use of last-window, which I didn’t know existed. Here I’ve been hunting and next/prev between sessions like a heathen. I immediately started updating my tmux.conf. Turns out I had the default for last-window bound to another key and hadn’t rebound it. Leading to a clean up of my tmux.conf.

Non-trivial jq

jq is a very useful tool for command line work with JSON. Unfortunately its syntax can be somewhat cryptic. Being at a conference and having the availability of someone with examples and explanations as to what’s going on helped with my understanding.

Confessions of a Space Cadet

genehack is a keyboard nerd too. This talk was an introduction into the world of mechanical keyboards and could be the first step down the rabbit hole for a number of people.

genehack describes the different layouts of keyboards, including some that I would call fairly non-standard. As well as explaining the different switching mechanisms that make up the rainbow of Cherry MX switches.

Regexp Mini Tutorial: Assertions

Abigail’s talks are always very informative, and any new nuggets of information on writing regular expressions is always welcome. This talk did not disappoint, I’d not heard of the \K directive and the examples given during the talk will make for some nice rewrites in a couple of projects.

The \K directive tells the regular expression engine to forget what it just matched and continue from the current position to try and match the rest of the pattern. The primary use I see for this is when using anchor text in a substitution. No longer is putting back the original anchor text required.

my $text = 'this is one two two many';
$text =~ s/ (two) \s+ two \s+ /$1 too /gx

becomes:

my $text = 'this is one two two many';
$text =~ s/ two \s+ \K two \s+ /too /g

I Never Metaphor I Didn’t Like: How Cognitive Linguistics Can Help You Be A (More) Bad-ass Developer

Unfortunately video of this talk has not been posted. I’ve contacted Chris to see if he knows why, but he hasn’t been informed as to why either.

Chris walks through what metaphors are and the constructs that comprise them. While much of the linguistics discussion is over my head, Chris brings the discussion back around to demonstrate how we use metaphors every day in the computing environment. From user interface design to communicating code details between teams of developers.

This talk is designed to lead to discussion in the audience. Those discussions end up supporting the points that Chris makes during the talk.

Chris has given this talk previously and the video is available here.

Readin’ Rust

I’ve heard plenty about the Rust language but never really looked into it. I’m a firm believer that learning a different language strengthens the understanding of those I already know.

Unfortunately some last minute CSS changes led to a presentation that’s syntax highlighting left the slides unreadable at a distance.

This is one of the talks that reviewing the slides later would be informative.

CompleteShell - Tab Completion for Every Shell

Ingy döt Net has been working on creating tab completion for programs that don’t have it. At PTS 2019 he was demonstrating completion for cpanm which included full distribution name completion on the command line. Really impressive, so I was looking forward to how far along the project is.

The goal of the project is provide a simple mechanism for developers to add the completion files and man pages for their command line tools. A DSL has been defined that when used with the tool generates the files required to add completion. The project includes a number of repositories for different commands, but there is still a lot of work to do.

C’mon Git Happy

I consider myself an intermediate git user. I can get myself out of trouble, I’ve created and used many a release process, and I know that I don’t know everything. Whenever genehack speaks on git though, no matter what level, it needs to be seen. This talk, while short, focuses on using and maintaining the git graph. genehack takes a tour of aliases, configuration settings, and commands that help keep it clean.

The One I didn’t See – Perl Out Loud

I did not attend this talk, but immediately after everyone was talking about the fantastic job that @yomilly did. As soon as I returned home this talk went on the main TV and I watched it with my family.

  1. @yomilly is a great speaker
  2. Speech to text technology has come a long way
  3. Be considerate to the names given to methods and variables. There’s no need for abbreviations. Abbreviations hinder accessibility, as well they can affect clarity.

Lightning Talks

There are a lot of different lightning talks on various topics, some related to perl, some related to other aspects of programming, and some with nothing at all to do with either.

To under or not to undef

Cees revised his talk from Toronto Perl Mongers and presented it as a shorter lightning talk. While lightning talks at TPM don’t really have a time limit, and tend to lead to lots of discussion, at TPC, they must end on time and have zero discussion afterwards.

This shortened talk gets right to the point of the differences between $var = undef and undef($var) and why you might want to use one over the other, but mostly shouldn’t care. The talk includes examples with technical details that help explain the points.

Fountain Pens

Under the category of nothing to do with programming but really interesting is this talk by Mike Fragassi on fountain pens is really well done. I am not one that likes my penmanship but I do appreciate a nice writing utensil and fountain pens are cool. Might pick up one of the cheaper models he mentions to try it out.

A New Name for Perl

I’ll admit, when Ingy döt Net stood up on stage and stated that this was the topic of his talk, I was prepared to hear a lot of backlash from the audience. Surprisingly there was none at all. Ingy proposes that Perl be the name of the community and the language family, while perl 5 and perl 6 be the names of the implementations of the language.

Summing it up

Of course the best part of every conference is the time spent hanging out with friends. Be it in unsuspecting dive bars, or finally making it into the taco restaurant on the third attempt, or being kicked out of a friend’s room at 1am after a night of board games because they have to give a talk the next morning.