• 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!
  • 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...
  • Posted Perl 6 for Mere Mortals - FOSDEM Video to Ovid

    My FOSDEM talk, Perl 6 for Mere Mortals, is now online:

    You can see the rest of the Perl dev room videos here

  • Commented on Avoid a Common Software Bug By Using Perl 6
    Manuel, That's actually deliberate. Perl 6 does have a type inference engine in the optimizer. However, type inference can often generate obscure errors that are hard to understand. Larry Wall has said that until they have a better handle on...
  • Posted Building a Thin Controller to Ovid

    I haven't updated about Veure in a while and though this post isn't really about Veure, per se, I'll use some code from it to illustrate a "thin controller."

    There's a lot of confusion abou…

  • Posted Avoid a Common Software Bug By Using Perl 6 to Ovid

    Back in 2001 I was working for a company who had a client who was in a serious bind: the maker of their point of sale (POS) system suddenly jacked up the license fee to the point where our client would go out of business. They needed a new POS in 21 days.

    We grabbed an open source POS syst…

  • Commented on git-refresh: Automatically rebase current branch onto master
    confuseAcat: I do merge back to master. And my branch names often look like this: feature-description-$ticket feature-description-$ticket-2 feature-description-$ticket-3 feature-description-$ticket-4 The trailing number means "part X". I merge tiny pieces back to master all of them time, but there are enough...
  • Posted git-refresh: Automatically rebase current branch onto master to Ovid

    Different people have different workflows with git. Mine is pretty simple.

    1. Branch from master
    2. Hack, hack, hack,
    3. git stash; git checkout master; git pull --ff-only; git checkout $branch; git rebase master; git stash pop
    4. Goto …
  • Posted A little thing to love about Perl 6 (and COBOL) to Ovid

    By now you've heard the announcement that the Perl 6 team is cautiously hopeful that Perl 6.0.0 will be released this year. There are three things they need to finish:

    • The Great List Refactor (which should improve performance)
    • Native Shaped Arrays (tell Perl 6 that you only …
Subscribe to feed Recent Actions from Ovid

  • shawnhcorey commented on Dave Cross and Modern PERL

    @Ovid: POSIX is a standard module. It comes installed with Perl. For a list of all the standards modules, see perldoc perlmodlib

  • Dave Cross commented on Dave Cross and Modern PERL

    @shawnhcorey: I'm pretty sure that Ovid knows that POSIX is a standard module :-)

  • Offer Kaye commented on Fluent interfaces in Perl 6

    Ovid - cool on you for taking the time to spread Perl6 knowledge, especially on such an important site as Wikipedia - keep up the good job :)


    "Perl 6 uses different idioms and the given idiom above is more natural for the language."

    If that's really the case it would personally make Perl6 a pain to read and I hope (again personally, YMMV) that it's not true. Sorry :(

    say $'Sally').surname('Ride').salary(200);

    Seems natural to me and forces me to understand nothing about the internal structure of $employee (only the external API…

  • 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

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.