Presentations for 2017

January 2017
Presenter: Various
Tonight's meeting featured a set of short talks on various topics. Robert Stone did a talk on TDD. Julian Brown presented a kind of radix sort that the inventer claims is faster than the standard Perl sort. Jocelyn Kirby presented about Sessions in web applications. G. Wade Johnson presented some vim tips. And, Michael R. Davis finished the presentations with an introduction to some of his CPAN modules.
January 26, 2017
Topic: cperl
Presenter: Reini Urban
Reini Urban gave a presentation highlighting several of the features of the cperl fork of the perl programming language.
February 2017
Presenter: Robert Stone
Robert Stone delves into the cipher used by the Zodiac Killer in his newspaper announcements. He describes substitution ciphers and then shows how a homophonic substitution cipher fixes many of its problems. He ends by describing how the Zodiac Killer's cipher was solved.
March 2017
Presenter: Various
Jim Bacon, Robert Stone, and Jocelyn Kirby gave short presentations on health topics that can apply to developers.
April 2017
Topic: p5hack
Presenter: Todd Rinaldo
Todd Rinaldo discussed the p5hack hack-a-thon this year in Amsterdam. He described the purpose of the meeting and some of the decisions that came out of the meeting.
May 2017
Presenter: Various
The goal this meeting was to do some code reviews as a group. The idea was that we would learn from each other's techniques and knowledge.
June 2017
Presenter: Various
JD Lightsey suggested that the group make an attempt at the Perl Programming challenge that OC.pm proposed for their May 2017 meeting. Eveyone was suggested to make an attempt.
July 2017
Presenter: Todd Rinaldo
Todd Rinaldo has been working on the guts of Perl recently as part of the Perl compiler project at cPanel. He began with some of the pre-requisites needed to understand the presentation, including a basic understanding of C:
  • structures
  • unions
  • arrays
  • typedefs
  • #define
He showed Nicolas Rochelemagne's talk Introduction to Perl Internals to give some background. Nicolas covered some of the basics of Perl internal data structures and some information about how perl handles memory. After the video, Todd explained the B::C module and some of its siblings. He explained the difference between a stash and a pad, and talked about how new pads are added each time you add a scope. Todd spent a little more time discussing the internal data structures, mostly focusing on how they relate to stashes and pads. Next, he discussed how the parser doesn't actually generate an op-tree, as you might guess from an study of compilers. Instead, it generates several op-trees, that are linked together by entries in the stashes. He recommended spending time studying Reini Urban's Ill Guts if you are going to spend any time understanding this stuff. He spent some time discussing some of what cPanel is using the compiler for and what they hoped to accomplish. He discussed some ideas about optimizing op-trees. The talk generated several interesting discussions, that branched off the main topic at times.
August 2017
Presenter: Robert Stone
Robert Stone describes the troubleshooting techniques he used to reverse engineer a game to see if he could automate some of the boring parts of the game.