• Website:
  • About: Freelance Perl/Testing/Agile consultant and trainer. See for our services. If you have a problem with Perl, we will solve it for you. And don't forget to buy my book!
  • Posted Announcing Veure at The Perl Conference to Ovid

    I'm back from Romania and had a lovely time at YAPC::EU, er, The European Perl Conference, er, or this:


  • Posted Veure's Database to Ovid

    I recently wrote about Veure's test suite and today I'll write a bit about how we manage our database. Sadly, this will be a long post because it's a complicated problem and there's a lot to discuss.

    When I firs…

  • Commented on Why I try to avoid Perl's punctuation variables
    Abigail: I had to read your example a couple of times to understand it, which means that I rest my case. my $placeholders = join ', ' => ('?') x @ids; my $query = <<"END_SQL"; SELECT foo, bar, baz FROM...
  • Posted Why I try to avoid Perl's punctuation variables to Ovid

    Over on Perlmonks I wrote that you should probably use this:

    say join '', @array[2,4];

    Instead of this:

    local $" = '';
    say "@array[2,4]";
  • Commented on Veure's Test Suite
    Anonymous: thanks. There will be more updates on the game, but we're creating a blog specifically for the game where more things will be announced and to reach out beyond the Perl community. I can't say much more than that...
  • Posted Veure's Test Suite to Ovid

    We're still hacking away on the Veure MMORPG and things are moving forward nicely, but I thought some folks would like to hear more about our development process. This post is about our test suite. I'd…

  • Posted Perl 6, the Game of Thrones of Programming Languages to Ovid

    I've gotten a bit of grief over the title of a TechBeacon article I recently wrote: Why Perl 6 is the "Game of Thrones" of programming languages. I wrote the article, but the editors chose that title based on a…

  • Commented on Happy 15th Birthday, Devel::Cover!
    Thanks, Paul! I've often been amazed at shortcomings in the coverage tools of other languages. Devel::Cover is awesome and I use it constantly :)...
  • Commented on Private Moose Attributes
    Aristotle, thank you. That's a much nicer solution. Ether, your points are well taken, particularly about the meta object. However, BUILDARGS won't do because I don't yet have type safety. The more the code is used, the more careful we...
  • Commented on Private Moose Attributes that doesn't work because I need to block accessors....
  • Posted Private Moose Attributes to Ovid

    Working on a large internationalization (I18N) for one of our clients and I found myself in a curious position where I needed to build an I18N objects from users, companies, and web sites. It's tricky because there are multiple ways the object can be instantiated:

  • Commented on Why is hiring so many developers?
    phpist: yes, they hire PHP developers, so long as you're willing to learn Perl. wants competent developers and they know they'll be able to pick up a new language....
  • Posted A Naïve SQL Shell to Ovid

    For one client, I was told that our devs didn't have client access to a database with a problem, but they could connect via DBI. Thus, I whipped up the following to help them out.

    It has command line history and …

  • Commented on The Ovidian Update
    Fritz: I'd considered writing utilities in Perl 6, or down the road, a command line client, but for now, Perl 6 is too slow and doesn't have the required libraries. Otherwise, I'd love to! With a MOP and non-experimental subroutine...
  • Posted The Ovidian Update to Ovid

    Haven't posted anything for a while, but I'm not dead, just busy. Here's a quick recap of things that I think people might find of interest.

    Send In …

  • Posted The Veure MMORPG Saga Continues to Ovid

    I'm doing heater runs in Taungoo Station when someone tells me about a problem in Nouveau Limoges, another station in the Sol System. I mosey on down to the port, hop in Serenity, my corvette class spaceship (with some "quiet" modifications), and launch. Serenity's an older ship and she higher…

  • Posted Improved Syntax Highlighting in the Debugger to Ovid

    You may recall me writing about DB::Color a few years ago. That module let you do this with the debugger:

    ="Perl D…

  • Posted Divas Need Not Apply to Ovid

    A couple of days ago, we posted a job on We wrote:

    Description: Want a remote Perl job working for a great company with colleagues from all around the world? We're considering both permanent and contract p…

  • Commented on CPAN Testers needs our help
    I might irritate some people, but ... I like this idea, but it violates the idea of "make it easy". Payments must be in multiples of £50 when many people can't even type the "£" character? So I'd be paying...
  • Commented on Improved DBIx::Class usage with arbitrary SQL
    Rolf: it should support pages results since resultsets are chainable. I confess I haven't tried it, though :)...
  • Posted Improved DBIx::Class usage with arbitrary SQL to Ovid
  • Commented on Fluent interfaces in Perl 6
    Offer, we can safely set public attributes here because Perl 6 makes it trivial to allow powerful subsets which are more or less "the data types you want", but created on the fly. Also, you can see an older version...
  • Commented on Fluent interfaces in Perl 6
    E. Choroba: There are two problems with that statement. First, the Wikipedia page shows method chaining and not really "fluent" interfaces. Second, you're used to method chaining as a way of making some code more readable. Perl 6 uses different...
  • Posted Fluent interfaces in Perl 6 to Ovid

    I've been digging into Perl 6 more lately and I noticed the Wikipedia example of fluent interfaces didn't have a Perl 6 example, so I fixed that.

    To be fair, Martin Fowler's explanation (as usual) of ="…

  • Commented on Dave Cross and Modern PERL
    shawncorey: we're not going to use that because that's a part of the system we're no longer using, nor do we need its functionality. I promise you we didn't write that code :)...
  • Posted Dave Cross and Modern PERL to Ovid

    At this year's YAPC::EU, we've been having a blast in Granada, Spain, an incredibly beautiful city. The conference has been fun and Dave Cross gave a great lightning talk about Modern PERL (sic). These are devs who are using 5.8, often aren't allowed to use modules, and use for param…

  • Posted Testing your sqitch changes to Ovid

    When you work on larger projects, you'll often find that database changes are hard. Multiple developers, working on the same project, changing the same tables, can be difficult. Database migration tools often (but not always), come with one or more standard flaws:

    • Reliance o…
  • Posted git stashed to Ovid

    A quick 'n useful git tip:

    $ git config --global alias.stashed "stash list --pretty=format:'%gd: %Cred%h%Creset %Cgreen[%ar]%Creset %s'"
    $ git stashed
    stash@{0}: 2d7f38b [19 minutes ago] On variable-travel-times-207: variable station travel times
    stash@{1}: 1e42…
  • Posted Veure: Artists and Narrative Designers to Ovid

    This has been a busy week with Veure. As usual, my daily routine is:

    • Wake up
    • Hack a couple of hours on Veure
    • Work for $client
    • Have dinner
    • Optionally hack more on Veure

    Hack, in this case, does not simply mean "write code." There are …

  • Posted Veure: Arbitrary Mission Actions to Ovid

    This little baby makes me very happy:

    That is a screenshot from the completion of a level 1 mission "Find Amaidoo's E-slate." The code was pa…

Subscribe to feed Recent Actions from Ovid

  • Joel Berger commented on Why I try to avoid Perl's punctuation variables

    This is one of the few examples where i know an even better trick, at least as long as you are using DBD::Pg

    my $query = <<"END_SQL";
        SELECT  foo, bar, baz
          FROM  SomeTable
        WHERE  id = ANY(?)

    And then pass an array reference as the value. \o/

  • Merlyn Kline commented on Why I try to avoid Perl's punctuation variables

    I'm with Ovid. I love that perl will let me do very concise things and has all these features, but they should be used appropriately. Invoking perl with -e on the command line to do some one-off task is often only really possible this way, and knocking up a quick helper utility for something is much quicker and easier with these features.

    But Abigail's example wouldn't make it past review onto a production server. I'm on a multi-decade project and there's an inevitable turnover of staff so maintainability of code is critical; moreso even than having it work properly (maintainable but…

  • Steve Nolte commented on Why I try to avoid Perl's punctuation variables

    I applaud this article and others like it. At $work we are constantly fighting bugs in code that is "too clever" and not explicit. Also fascinating to see what may seem obvious to some (e.g. the Babycart operator) but quite confusing to newbies.

  • Flavio Poletti commented on CPAN Testers needs our help

    One thing that I'd suggest to do as soon as possible is to add the link to the EPO page inside the CPAN Testers page. Anyone hitting there has absolutely no clue on how to do a donation, and it should be a quick, easy thing to do.

  • Neil Bowers commented on CPAN Testers needs our help

    Hi Flavio: that's a good suggestion — I've passed it on to Doug Bell, the new project lead for CPAN Testers.

Subscribe to feed Responses to Comments from Ovid

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.