Open Source
Some of the projects I've created and contribute to include:
- ack
- 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.
- bobby-tables.com
- 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
- 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.
- Perl::Critic::Bangs
- 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
- 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
- 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.