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, beyondgrep.com, 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 bobby-tables.com 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 in 2005. From the announcement by the Perl Foundation:
Andy Lester is one of the prominent voices advocating testing and quality assurance. He has written extensively on the importance of good testing and maintains qa.perl.org. He is also the creator and project leader of Phalanx, which is devoted to improving tests and test coverage of Perl and CPAN modules to maintain quality as development continues. Phalanx encourages interaction between programmers by having groups of developers work together to improve test coverage on the most used CPAN modules.