All About CSS Flexbox

This month, Doug Bell will be talking about a CSS feature newly-supported by browsers: The flexible box (flexbox). Flexboxes makes laying out rows or columns fast and easy. Simple things become much easier, and even complex layouts become simple and responsive for a variety of display devices like phones and tablets. If you haven't learned anything about CSS in the last few years, or if you know the pain of using CSS floats, come learn about flexbox!

Doug Bell has been developing websites since the time of table layouts and spacer GIFs (pronounced "jifs"). He's developed websites professionally for 10 years, and is the organizer of the #css support community on the Freenode IRC network.

The Perl Conference Post-Meeting

This month is The Perl Conference (formerly YAPC). Because of this, we have to move our meeting to June 29th. At the meeting we'll discuss the talks and announcements from the conference over food and drinks! RSVP for the meeting on our Meetup page.

If you haven't already, be sure to join the Chicago Perl Mongers on Slack using We're in the #perl channel, and I'll be talking about the things I see at the conference.

MySQL Database Performance For Developers

This month's presentation will be on MySQL Database Performance:

Let's face it, when it comes to databases, developers and DBAs don't often see eye-to-eye. This talk will help bridge the gap using a common goal, "Database Performance".

If you're a developer, you've probably used a query that was performing poorly. Many times the solution is seeking help from a DBA. The DBA performs some magic behind a curtain, and all the sudden the query is running fast. Wouldn't it be nice to take a peek behind the curtain to see the magic being performed? During this talk, we'll discuss several aspects of the database that can affect performance. This includes schema design, indexes, and queries. We'll also look at some real life examples of slow performance and performance solutions.

Jeremy Glick is a MySQL Database Engineer at ZipRecruiter. Before that, he worked as a consultant for various technology companies with systems ranging from dozens to hundreds of database servers. Jeremy is also the organizer of the Chicago MySQL Meetup. He holds multiple MySQL certifications and is a RedHat RHCE.

RSVP on the Chicago.PM Meetup

Due to Joel and Doug being at the Perl Toolchain Summit, we have to cancel the Office Hours this month. We'll have Office Hours again next month.

Test Environments for Modern Web Apps

This month, William Lindley ( blog) will talk about writing a test harness for modern Perl programs using Test::More, Test::Mojo for the API, and DBIx::TempDB for the database.

Building, testing, and deploying actual systems is more complex than merely writing a program. Real testing often needs to be done against databases of known large or problematic datasets. A test environment cannot affect production data. Staging even minor changes, so we can preview and find errors before moving to production servers, can prevent expensive errors. The "best practices" in this field are relatively new and still changing, and we look at the first steps from "I built this mockup last night" by building the test suite for a simple database-driven file-upload service with Mojolicious.

William Lindley has been hacking computers (in the good sense) since 1977, a database advocate since dBase II and PostgreSQL-predecessor Ingres in the 1980s, a Perl monger since 1994, and a free-software promoter since first getting Linux to run XWindows in 1995.

If time permits, Doug Bell (preaction) () will show a simple app to mock JSON REST APIs for testing using Mojolicious.

RSVP for the meeting on the Chicago.PM Meetup

Perl 6 Grammars and Logging in Perl 5

This month, we have a special meeting: brian d foy () will be giving a talk about Perl 6 Grammars on Thursday, February 16. Grammars in Perl 6 are the evolved form of Perl 5 regular expressions that allow even more power and flexibility, while still being easier to use. RSVP for this special talk about Perl 6 Grammars on the Chicago.PM Meetup.

For our regular meeting, Doug Bell (preaction) () will be giving a talk about Logging for Programs Tiny and Large. It will cover various ways to add logging and reporting to your Perl programs, including built-ins like warn, core modules like Sys::Syslog, and CPAN modules like Log::Any and Log::Log4perl. RSVP for the talk about Logging in Perl 5 on the Chicago.PM Meetup.

We also need speakers for March and further on the rest of the year. If you're interested in talking for 20 minutes or 40 minutes about any topic at least tangentially related to developing software with Perl, e-mail me or sign-up on our spreadsheet. If you'd like to contribute, but don't know what to talk about, check out our list of talk ideas.

Accepting Payments on the Web

This month, Noel Rappin will be talking about accepting payments on the web:

Your customers have money, and you’d like them to give it to you. Payment gateways, such as Stripe, Braintree, and Paypal, make it easy to start charging credit cards and get the money flowing. But charging cards is only the beginning. You need to worry that your app responds gracefully to service failures, since charging a customer for a failed transaction is bad. You need to guard against fraud and security breaches. You need administrative tools that are flexible but secure. You want to test against external services. And you’ll run up against the law. Learn from some of my mistakes and build a robust financial application.

Noel Rappin is the Director of Development at [Table XI]. Noel has authored multiple technical books, including "Rails 4 Test Prescriptions", "Trust-Driven Development", and the forthcoming "Take My Money: Accepting Payments on the Web". Follow Noel on Twitter @noelrap, and online at

Perl Development Environment

This month, Jason Crome will be giving a talk on Perl development environment tooling like perlbrew, plenv, and Carton. These tools help to manage different Perl versions, different module versions, and help to isolate your development environments to help make dependency version problems manageable.

Bring your questions and your own experiences with maintaining a Perl development environment.

RSVP on the Chicago.PM Meetup

EDIT: Slides for Perl Development Environment Tooling have been posted to cromedome's Slideshare