#133: All Things Perl With Curtis “Ovid” Poe

This week, we spoke with Curtis “Ovid” Poe. He shares how he got started with Perl, what Perl is really good at, why he doesn’t expect everyone to love Perl, why Perl doesn’t get no respect, the difference between Perl 5 and Perl 6, why the Perl community doesn’t like marketing, and more.

Track issues and todos while you code with Watson #

Watson lets you create issues while you code, including custom labels, without ever having to interrupt your workflow. It syncs with remote services like GitHub and Bitbucket — Push locally created issues and get the status of remote issues right in your command line.

Pick your flavor and install either the Ruby or Perl version.

Enjoy sane database change management with Sqitch #

Most schema migration tools are tightly coupled with the ORM or the framework in use. They usually have a limited DSL to interact with the database and are hard to maintain on a complex system.

Sqitch lets you write the upgrade scripts in the native language
of your database and provides automatic dependency resolution.
The currently supported database engines are PostgreSQL, SQLite, MySQL, and Oracle.

Sqitch’s source is written in Perl, but it is a command line tool and can be used in any project written in any programming language.

David E. Wheeler (not to be confused with other David Wheelers in the computing field),
provides extensive tutorials including talks, slides, and videos. He also blogs about the
development of Sqitch.

Questhub, the social task tracker #

Have you ever needed to be encouraged, or even nudged
by fellow travelers to go ahead with your quests?
Questhub aims to help you with exactly this problem.

You define tasks (or quests), others can upvote them and comment on them,
and suddenly you are held accountable for your plans.
You can’t procrastinate any more.

Questhub also supports Stencils, which are quest ideas or templates.
You create one and someone else can finish it. Even repeatedly.

Vyacheslav Matyukhin, the author of Questhub describes it
as being a public task tracker with social features and game points.

A live, public version can be found at Questhub.io with several
‘realms’, such as Perl, Fitness,
and Chaos.

The source code, which is written in
Perl, using the Perl Dancer web framework and lots of JavaScript,
is distributed with the MIT license.

GitPrep, the open source GitHub clone #

If you want to run a GitHub-like system in-house, GitPrep by Yuki Kimoto is worth a look.

The project home page includes a
screenshot, but you can also visit a project hosted on a
public facing installation
and can click around.
There are nice diff pages and you can also get a
blame report.

The project is still very young, but looks promising.

GitPrep is written in Perl and it is very easy to install, even on a shared host. It can run
its own web server, use any web server supporting PSGI/Plack, and it can
even run in CGI mode for those shared hosts.

GitPrep is built using the Mojolicius web framework and
Twitter Bootstrap. Its source code is on GitHub
and it is licensed under the Artistic license.

Ack hits 2.0, moves beyond Grep #

The much beloved ack — a text search tool akin to grep, but tuned specifically for searching code — reached the 2.0 milestone this week. The new release brings with it a bevy of changes, most notably a more liberal default search algorithm and the ability to load multiple ackrc files.

Ack has historically made its value proposition by being “better than grep”, but that has also changed with the new release. Andy Lester (ack’s author) replied to a comment on Hacker News asking how ack 2.0’s speed compares to the recently released (and changelog’d) Silver Searcher tool by saying:

It’s OK to have two similar tools in your toolbox. When you need the –output option, for example, you use ack. When you want crazy speed, you use ag. You don’t have to choose one over the other. That’s why I changed the name from “betterthangrep.com” to “beyondgrep.com”. There’s no need to have a ranking of “I use this over that.”

Ack requires Perl 5.8.8+ and that’s it. There are plenty of ways to install it on different systems and there is even a single-file version which can simply be dropped in your PATH and made executable.

Want to get invovled? Ack is developed on GitHub!

Travis CI now supports Python and Perl #

Since we first covered Travis CI a year ago, the project has continued to improve support for Ruby as well as additional languages. In addition to supporting PHP as well as Java, Scala, and Groovy, Travis now supports Perl and Python.

Setting up your Python project is straightforward. Just provide the travis.yml to declare your supported Python versions, install, and test scripts:

language: python
python:
  - 2.6
  - 2.7
  - 3.2
install: pip install -r requirements.txt --use-mirrors
script:  python setup.py test

We’re excited to have Josh and Mathias from the Travis team on the next episode. Stay tuned.