Andy Lester

Manager, lead software engineer, speaker, writer

Palatine, IL

Open Source

Some of the projects I've created and contribute to include:

I created the widely-used text search tool ack (sometimes packaged as "ack-grep") in 2006. As ack has matured, my role has changed from creator and author to shepherd of incoming patches.
The ack website,, also is a hub of information about other code search tools to help users decide which tool best fits their needs. The site gets about 8,000 unique visitors each month.
This site is a collection of information to help novice programmers understand how to properly use parametrized SQL queries to prevent SQL injection attacks. While I created the site in 2008, it is now based on community content. Source for the site is kept on GitHub, with contributions coming in just like patches to a code-based project. Around 4,000 unique visitors use in a month.
WWW::Mechanize is a Perl module that allows easy navigation of websites, acting as a web browser in an object. Created as a fork of WWW::Automate in 2002, I maintained Mech until 2012. It is now slated to become part of the standard libwww-perl library. Its sister module, Test::WWW::Mechanize merges the convenience of Mech with Perl's automated testing ecosystem.
Perl 5
As a member of the Perl 5 Porters, or core Perl developers, I contributed patches to the C source code to make it more maintainable and with safer constructs. I performed regular static analysis on the C code and strengthened the compiler warnings to check for questionable code.
A collection of policies for the Perl::Critic static analysis framework.
Test::Harness and prove
During the time I maintained the core Perl module Test::Harness, I created the prove tool to encourage test-driven development by making test execution simpler from the command line. prove is now shipped with every Perl distribution.
Perlbuzz is a news site about Perl 5, Perl 6 and Parrot. As more Perl blogs have become popular, Perlbuzz has mostly become a stream of stories, selected by me, fed primarily through the @perlbuzz Twitter feed. Perlbuzz reaches almost 7,000 readers and followers each week.
Parrot is a virtual machine, written in C, for running modern dynamic languages like Perl 6. In the late 2000s, I worked to increase stability of the code by increasing the number of compiler warnings checked, running static analysis tools like splint, and instrumenting the code.
White Camel award, 2005
Awarded one of three White Camels, an annual award for service to the Perl community.