• About: Australian perl hacker. Lead author of the Definitive Guide to Catalyst. Dabbles in javascript, social science and statistical analysis. Seems to have been sucked into the world of cloud and devops.
  • Posted Is there anything wrong with this benchmark? to kd

    Class::Method::Modifiers versus $self->SUPER.

    The exec summary is:

    $ dumbbench perl 
    cmd: Ran 21 iterations (1 outliers).
    cmd: Rounded run time per iteration: 2.0408e-02 +/- 3.6e-05 (0.2%)
    $ dumbbench perl t…
  • Commented on Promoting Perl
    Perl has a couple of major strengths [1], and some problems. Personally I've found that there's no normal programming activity I can't do with perl that I can't do with any other similarly positioned language. But there's not a lot...
  • Commented on Time to Put my Thinking Moose Cap On
    Or if you don't want to go down the whole DBIx::Class rabbit hole, SQL::Abstract is nice too (it's what dbic uses to generate queries)...
  • Posted DBD::Oracle Trial Release 2 to kd

    Following our initial trial here's another one.

    We've attended to the changes suggested from the last release (better changelog a…

  • Commented on DBD::Oracle Trial release.
    mjevans: yes you're right the changelog is isnconsistent with what's in the release. I'll trawl through the commits and update it some time really soon. ribasushi: thanks. Almost all not my work. Although I can take responsibility for exposing the...
  • Posted DBD::Oracle Trial release. to kd

    tl;dr: If you care about DBD::Oracle at all please test this unauthorised trial

  • Posted Trying to make confluence usable. to kd

    =head1 RESTfluence

    I've tried to make this blog post copy/pastable as valid perl and valid markdown. So with luck it can be copy/pasted into an editor if you want to use this.

    Confluence. I don't really like it, but the …

  • Posted A happy mod_perl story to kd
    10:26 < kd> me:  "how do I integrate the REST API with our psgi/mod_perl abomination?"
    10:26 < kd> me:  "yeah it would be good"
    10:26 < kd> [waits two …
  • Posted A ghetto test library. to kd

    I've been working on some slightly complicated code with a myriad of of test suite. I knew I needed some code reusability in my tests but I had no idea of exactly how much without making a quick start. Meanwhile my brain was f…

  • Posted Writing a simple splunk API client. to kd

    I needed to do some work with splunk the log and monitoring analytics toolkit. Specifically I needed to combine disparate logs from different systems to solve a problem that had been intefering with our systems for a long time. I had a look around for stuff…

  • Posted More refactoring adventures to kd

    So lucky for me a client decided to pay me to refactor some of their very old code. Refactoring can be fun, but if you have a 20 year old business critical codebase where the team has forgotten or don't know how stuff works and it absolutely has to not break, then you have some challenges and…

  • Posted Not so new shiny things: LWP::Protocol::PSGI to kd

    Too long/didn't read: Don't use Test::WWW::Mechanize::PSGI or similar, use LWP::Protocol::PSGI. I wish I'd found out about this module when it was first released in 2011 rather than in 2015. Which is why this article is here. …

  • Posted PPIX::Refactor to kd

    (Moved from now that seems to be behaving itself).

    Over the past year or so I've had to deal with PPI for parsing and rewriting perl code a handful of times. Refactoring scripts are generally one-shot single purpose. Like any data mangling activity refact…

  • Posted Always make_immutable (unless you have a very good reason not to) to kd

    One hears that __PACKAGE__->meta->make_immutable is a must all your Moose classes. ( edit, ht ribusushi: never immutate your moo classes, it'll inflate them into Moose classes automatically thus defeating the point). Here's a stark reminder of why.

  • Commented on PPI 1.219_001 - please test - breaking ->prototype changes and parse improvements
    My current beef with PPI is that the documentation for rewriting source is obtuse and difficult to find. I'd like to talk to someone about this so that I can fix it. Is there a PPI irc channel or somewhere...
  • Commented on A fast pragmatic test runner
    No it doesn't. I thought it merged concatenated the TAP output, but it doesn't. Seems that something to do with TAP::Parser ought to sort it, but that will have to wait (unless someone else knows)....
  • Posted A fast pragmatic test runner to kd

    After breaking the build twice in the space of a week for more or less the same reason each time, I figured that my team needed a continuous integration rig, and we needed it now.

    For web application stuff it's not that unusual to have tests that collide with each other, at least in the sh…

  • Posted A most amusing annoyance to kd

    Came across this in my travels this morning:

    $ perl -E 'sub x { say "y"}; my $x = 'x'; $x->();'
    Undefined subroutine &main::1 called at -e line 1.

    Why on earth does this compile and run in the first place? Fixing the shell quotes make…

  • Posted A quick and very dirty pastebot. to kd

    I started a new job. One that requires me to leave the house on a regular basis. And talk to people in the day time, in person. In fact I'm finding it not much different to normal. It seems that instant message is the first line of communication, and people will come and talk to you if you…

  • Posted There's nothing like a bit of self inflicted public shaming. to kd

    Today I had a case of the magically missing data structure. We have a bit of code that's very hard to test with automated testing, and that part of the code died at an important point in time. Pending the refactor guy getting onto the root cause I came up with this nice snippet. At the time I…

Subscribe to feed Recent Actions from kd

Subscribe to feed Responses to Comments from kd

About is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.