• 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 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…

  • Posted Beta Features for Veure to Ovid

    There was positive response to my last entry about Veure, both on the post and in private email, so I'll keep posting.

    Currently, we're pushing forward hard to try to get to th…

  • Commented on How I write custom quests for Veure
    @gizmo_mathboy: duly noted :) I've added you to the list. (god, it was painful to make this comment with the damned "timed out" errors)...
  • Posted How I write custom quests for Veure to Ovid

    Note: If MMORPGs are of interest to you, please read through this and answer the simple questions at the end.

    I'm still diligently hacking away at Veure. About a year ago I wrote that ="h…

  • Commented on Wanna Getta Drink (in Veure)?
    D'oh! Thanks Aristotle :)...
  • Posted Wanna Getta Drink (in Veure)? to Ovid

    So, it turns out that working full time on a great contract, overseeing employees/contractors on other contracts, trying to build an MMORPG, working through legal issues associated with said MMORPG, preparing conference talks, and trying to be a good husband and father is a wee bit…

  • Commented on Fake Amazon Book Reviews Are Hurting My Book
    I'd love to write that book. Sadly, with a company to build, another company I'm creating, and the uncertain future of Perl 6, I think I'd probably lose a ton of money on that book relative to everything else I'm...
  • Commented on DBIx::Class::Report - generate ad-hoc dbic classes from SQL
    kablamo, DBIx::Raw is very different. It's useful, but doesn't serve the needs I have now. In short, if you have a DBIx::Class based system, using DBIx::Raw doesn't help because you're still stuck with hashrefs, or assigning the data directly. DBIx::Class::Report...
  • Posted Tiny Games with Perl 6 to Ovid

    Note: due to positive feedback on the post and at a client, I've released DBIx::Class::Report to the CPAN. You can read the original announcement

  • Posted DBIx::Class::Report - generate ad-hoc dbic classes from SQL to Ovid

    Object-Relational Mappers (ORMs) are awesome if you think about your database a collection of objects. They're awful if you think about your database as a database. My primary client right now is ZipRecruiter and my work involves rewriting one of…

  • Posted Fake Amazon Book Reviews Are Hurting My Book to Ovid

    Update: I really can't say as much as I would like (there's stuff I can't share), but my publisher had a face-to-face with an Amazon rep and internal action was taken. Amazon's investigation is apparently over. The internal position seems to be "we're making money, there are…

  • Commented on CPAN PR-Challenge: February Report
    As an aside, until I struck out on my own for business, I never realized the insane amount of time it takes....
  • Commented on CPAN PR-Challenge: February Report
    My apologies for not answering. I've been so very, very busy and tons of people have been sending me email that I've been doing triage on email. I'm sorry you feel through the cracks. Your fix looked reasonable, by the...
Subscribe to feed Recent Actions from Ovid

  • Aristotle commented on Fluent interfaces in Perl 6

    Also you are directly setting attributes, rather than using a public API - isn't that usually something bad in OO code?

    Attributes in the interface don’t have to translate to fields in the class and assignments to such attributes don’t have to mean unchecked writes to private fields. It’s trivial to provide the same attribute interface outwardly but actually implement it with accessors/mutators behind the scenes.

    Just because that code would be bad in Java doesn’t mean it’s bad in Perl 6.

  • Rohit M commented on Fluent interfaces in Perl 6

    Great news, I love Perl. Thanks a ton

  • grim commented on CPAN Testers needs our help

    Surely if you want to encourage corporate sponsorship you need to offer the kind of things that usually come with corporate sponsorship.

    The three companies above get a write-up, logo and links, but why isn't there a page on or whatever listing all these companies/people that are willing to continuously support it?

    Metacpan do this and it seems to work for them:

    It's not a big ask and makes it a much easier to convince the higher-ups within a business.

  • Neil Bowers commented on CPAN Testers needs our help

    Ovid, thanks for the feedback. I've toned down the language.

    I was trying to protect CPAN Testers' funding from the vagaries of exchange rates, but you're right, the fewer barriers the better. That said, the EPO donation form does make it very easy to set up a recurring donation in £ via PayPal.

  • Neil Bowers commented on CPAN Testers needs our help

    grim: I've added a link to the CPAN Testers sponsors page. I hadn't added a link to it before because it's probably going to get a rework soon, but you're right, it should be linked right now, so people can see that they'll get ongoing recognition.

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.