Presentations for 2017
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
January 26, 2017
Reini Urban gave a presentation highlighting several of the features of the
cperl fork of the perl programming language.
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.
Jim Bacon, Robert Stone, and Jocelyn Kirby gave short presentations on health
topics that can apply to developers.
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.
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.
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.
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:
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
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
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