- Open source is improv, so say “Yes and” (petdance.com)
- craigslist donates $100,000 to the Perl Foundation (news.perlfoundation.org)
- Text::AsciiTeX renders TeX formulas as ASCII art (blogs.perl.org)
- The most important pig in the office (with nod to @chipsalz, too) (petdance.com)
- An hour-long video of Damian Conway talking Perl and physics (blip.tv)
- Speed up Perlbrew with parallel tests (modernperlbooks.com)
- Visualizing the Perl 5 support policy (dagolden.com)
- MooseX::Role::Loggable adds logging goodness to your objects (blogs.perl.org)
- Rakudo Star 2012.01 released (rakudo.org)
- What’s next in Rakudo (6guts.wordpress.com)
- I’ll be presenting “29 ways to get started in open source today” at YAPC:NA (act.yapcna.org)
- DC-Baltimore Perl Workshop is April 14th. $25 for two tracks of talks. (dcbpw.org)
- Modern Perl 2011-2012 edition released (modernperlbooks.com)
- Developing parsers incrementally w/Marpa (blogs.perl.org)
- Parrot tickets migrated to @GitHub. (perlbuzz.com)
- Thank you, CPAN Testers (blogs.perl.org)
- The case of the overloaded curlies (blogs.perl.org)
- Perl more viable for webdev than ever (blogs.perl.org)
The Parrot project is now using
GitHub’s issue tracking system.
Parrot has used GitHub’s source code control for months now, but
we had hundreds of tickets in the
Trac system. Now,
over the past few weeks, I’ve been working with
Rick from GitHub
to migrate the tickets out of Trac into GitHub’s issue system.
Like most data conversion projects, the challenges were less about
the coding and more about making the decisions about how to massage
the data between two similar systems. For example, Trac has fields
for Severity and Priority of tickets, but GitHub only has free-form
tagging, so I had to create GitHub tags that correspond to Severity
and Priority in Trac. GitHub’s tracking system doesn’t handle file
attachments, so my conversion code had to make inline comments of
the file attachments.
Most time-consuming of all was the conversion of users from Trac
to GitHub. We needed the issue history to have accurate user IDs
on them, so I needed
a big lookup table to do the job.
While users like “coke” and “chromatic” have the same user IDs on
both the Trac instance and GitHub, Trac user “jonathan” is “jnthn”
on GitHub, and so on. Anyone I couldn’t find a match for became
generic user “Parrot”.
actual code to do all this
is only about 200 lines of Perl code, which should be no surprise
for someone who has the CPAN at his disposal. I used
read from the Trac instance, and the
JSON module to write
out JSON files in the GitHub API format.
The bulk of the code is
project-specific conversions to make little data tweaks like change
severity to tags, and to make the output code a little more friendly
I have to specifically thank Rick at GitHub for helping us through
this project. I used a lot of his time with questions about how
GitHub would handle my import format, and we had two test imports
for us to see real results, so that I could adjust my conversion
process. The final results are beautiful, and the Parrot team is
excited to see this move made.
I’ve long been a fan of GitHub
and how they help out the community,
and this just adds to it. This sort of aid to open source projects
should stand as an example to other companies that work with open
source. Many companies give back to the communities of the projects
on which their businesses are based. It’s fantastic to have a
company willing to use human capital actually working with a project
in which they have no direct involvement. In helping us, GitHub
gains nothing but the grateful thanks of the Parrot project.
- Perl interface to the nginx web server (blogs.perl.org)
- The 2011 Perl 6 coding contest: Write Perl 6 code, win $100 of prizes (strangelyconsistent.org)
- Perl documentation is awesome (blogs.perl.org)
- YAPC::NA 2012 is now accepting talk proposals (blogs.perl.org)
- A look back at Perl 2011 (onionstand.blogspot.com)
- Installing Citrus Perl on OS X (blogs.perl.org)
- How do I debug memory usage? (blogs.perl.org)
- Perl::Critic finds annoying little bugs in your code (perlbuzz.com)
- (changes.cpanhq.org) checks your Changes file for standards compliance. Whether that’s useful is left as an exercise to the reader
- Andrew Dunstan says the Perl 5 bug tracker is “worse than useless”. (people.planetpostgresql.org)
My work colleague Mike O’Regan created a policy for the latest version of Perl::Critic.
Now if you have a line of code like this:
my $n += somefunc(); # Should be my $n = somefunc();
Perl::Critic will tell you
Augmented assignment operator '+=' used in declaration at line X,
column Y. Use simple assignment when initializing variables.
If you haven’t let Perl::Critic loose on your code yet, now’s a great time to try.
To the loyal Perl::Critic users, what’s the nastiest bug Perl::Critic found for you? Let me know in the comments.
- Tracking users with Plack and Catalyst (modernperlbooks.com)
- FOSDEM 2012 in Brussels is looking for Perl speakers (nxadm.wordpress.com)
- Why is ack packaged as ack-grep? (blogs.perl.org)
- DBIx::Connector reduces the technical friction of managing DBI connections (perladvent.org)
- Minecraft-like game written in Perl and C (ue.o—o.eu)