• Commented on A Naïve SQL Shell
    Second on DBI::Shell, since sqlplus is terrible, but this is also why I wrote the ysql utility of Yertl...
  • Posted ygrok - Parse Plain Text into Data Structures to preaction

    As a data warehouse, a significant part of my job involves log analysis. Besides the standard root cause analysis, I need to verify database writes, diagnose user access issues, and look for under-used (and over-used) data sets. Additionally, my boss needs quarterly and yearly reports for client…

  • Commented on List::Slice - Slice-like Operations for Lists
    Yeah, that's a good idea. I'd love to convince more people that XS isn't as scary and terrible as it seems....
  • Posted List::Slice - Slice-like Operations for Lists to preaction

    How many times have you needed to do this?

    my @found_names = grep { /^[A-D]/ } @all_names;
    my @topfive = @found_names[0..4];

    Or worse, this.

    my @topfive = ( grep { /^[A-D]/ } @all_names )[0..4];
  • Commented on Moving data around with Yertl over ODBC (to HANA)
    I'm glad you're finding it useful! The project has been stalled at a very early stage (I've been working on Statocles), but I'll be happy to accept any contributions you want to make. You may want to upgrade your fork:...
  • Commented on Announcing Statocles Static Site Generator
    Fixed, thanks!...
  • Posted Announcing Statocles Static Site Generator to preaction

    Static site generators are popular these is key. The ability to use lower-cost (even free) hosting, often without any dynamic capabilities, is good for trying to maintain a…

  • Commented on On OP_SIGNATURE
    You bring up good technical points, as always, but, as always, they are couched in insults and ad hominem attacks. Since it is not possible to write p5p criticism to the mailing list, I'll have to do it in my...
  • Commented on Looking for YAPC::NA News?
    There's an Atom feed on the yapcna site that doesn't have the most recent news from the yapcna site. It points to the blog, which you said is deprecated. So people who subscribed to updates in their news reader won't...
  • Commented on Mojolicious Triumphs Over Legacy Code
    It boils down to "simple non-blocking app performs better than poorly-written blocking app". Unfortunately the API I was using is for a proprietary database, and we built a proprietary non-blocking, networked, message-passing API on top of it, so I can't...
  • Posted Mojolicious Triumphs Over Legacy Code to preaction

    I got a text at 8:00am:

    "Hey, can you jump on a conference call?"

    Groggy and disoriented, I blearily type the conference line and enter my passcode, followed by the pound or hash sign. At the tone, I would be the 6th person to enter the conference. Tone…

  • Posted Managing SQL Data with Yertl to preaction

    Every week, I work with about a dozen SQL databases. Some are Sybase, some production. All of them need data extracted, transformed, and loaded.

    DBI is the clear choice for dealing with SQL databases in Perl, but there a…

  • Commented on A little warning to EUMM and shell-script users
    EUMM wrote a valid Makefile that your script couldn't parse. Where's the bug? If you need to know what version of Perl something was built with, is there no other way? Perhaps the current maintainer of EUMM could add a...
  • Posted Leaving Crumb Trails -- Talking to Myself to preaction

    The past me is another person. Sometimes antagonist, sometimes friend, past me software that I and others use. Unfortunately, that asshole left bugs all through the code for me to fix.

    I can't blame him. Nobody's pe…

  • Commented on About one-liners
    Perl one-liners are a tool for people who spend most of their time not in a text editor, but in a shell. Over the years as I've spent more and more time having to come up with one-off solutions for...
  • Commented on The Joy in What We Run
    We just started using gradle at $work, and to use it, you copy a "gradlew" script into your repository. This script, when run, downloads Gradle if necessary, and then does what Gradle does (builds the software). All that is required...
  • Commented on Managing Boilerplate with Import::Base
    I added a bunch of new tests specifically for warnings, but I can't seem to reproduce your issue. Could you open a ticket on the Import::Base issue tracker and include enough information to reproduce it? Your note about $Import::Base::IMPORT_MODULES seems...
  • Commented on Managing Boilerplate with Import::Base
    Thanks for the bug report. The reason nobody has seen that is probably because the IMPORT_* API is relatively new. Most of my existing uses of Import::Base override the modules() method. The static IMPORT_* stuff was added to let me...
  • Commented on Managing Boilerplate with Import::Base
    Could you give an example? As far as I know, everything in the bundle is scoped lexically, so it only affects my project, not other projects using my project. Other projects are allowed to use the included base bundles, sure,...
  • Posted Managing Boilerplate with Import::Base to preaction

    Boilerplate is everything I hate about programming:

    • Doing the same thing more than once
    • Leaving clutter in every file
    • Making it harder to change things in the future
    • Eventually blindly copying without understanding (cargo-cult programming)


  • Commented on A most amusing annoyance
    perl -MO=Deparse -E 'sub x { say "y"}; my $x = 'x'; $x->();' sub x { use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval'; say 'y'; } use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval'; my...
  • Commented on Test::More has lots of crazy new development that's breaking my modules
    I want to get notification if a prereq of my module, any prereq, changes in an incompatible way. But I don't think that should affect the apparent stability of my module. With metacpan emphasizing test results in their sidebar, I...
  • Commented on Understanding Behavior Driven Development
    I agree absolutely that programmers need to think about the stakeholders first and foremost. I've been trying to like BDD, but the APIs I've seen are just wretched. One BDD framework has a function called "it()", which takes everything I...
  • Commented on Between Learning and Doing
    If we intend to release the server app (if people want LAN play, or if we want to spread out game hosting a la TF2), that is the present plan. I only learned about PDK 8 days ago, though I've...
  • Commented on Between Learning and Doing
    Yeah. Unfortunately, there are also some counter-examples: If I hadn't decided to forego YUI or ExtJS and learn one of Angular, Ember, or Knockout (I chose Angular), the web project would've taken far longer despite my experience with both and...
  • Posted Between Learning and Doing to preaction


    A long time ago, when I started building my first video g…

  • Commented on New developer tool:
    I'd really like to be able to subscribe to an Author. I like to see what interesting things that certain people produce, without having to know in advance what that module is (and also to keep up with what friends...
  • Commented on perlsloc - Count Perl Source Lines with Perl::Tidy
    I was on the fence about comments. This does not get rid of them, but perltidy has options to remove comments as well: --delete-block-comments --delete-side-comments (though the latter doesn't add to SLOC really). I can't seem to find the perltidy...
  • Posted perlsloc - Count Perl Source Lines with Perl::Tidy to preaction

    While spending some time putting together my own perltidyrc intimately familiar with the Perl::Tidy documentation.

    One day, …

  • Commented on Conflict Resolution: local::lib and git's Perl
    I suspect I only ran into it just now because I upgraded List::Util to take advantage of the new pairs features. Otherwise I've been chugging along just fine....
Subscribe to feed Recent Actions from preaction

  • Steven Haryanto commented on About one-liners

    There's no reason you can have it both ways (at least in some respect).

    You can put your shell history in a git repository (true, this is not the same thing as putting a single script file).

    You can use an editor to edit command-line, e.g. C-x C-e.

    You can use something like M-x shell in Emacs, then later on save the whole session in a file (in a git repo) to document things, it even shows you the evolution of building up a working one-liner *with* the outputs.

    You can put your good one-liners in a script later (just chuck it in a file and prefix it with #!/bi…

  • Reini Urban commented on On OP_SIGNATURE

    Having now implemented all my plans with the old slow signatures, I have to take back some of the criticsm above.

    OP_SIGNATURE is in fact a really good idea.
    I'm still not too keen about the separation of "Too many|few arguments for subroutine" instead of just a "Wrong number of arguments for subroutine $name" which I implemented is now moot, as those strings reside in libperl, and are not compiled as perl data anymore. And there's still another part which checks arity with these error messages. So you have to be consistent.

    My other critic of copying @_ twice is also w…

  • brian d foy commented on A quick static file webserver

    The render_static was deprecated in the middle of the Mojolicious 5 evolution and is now reply->static:

    #!/usr/bin/env perl
    use Mojolicious::Lite;
    use Cwd;
    app->static->paths->[0] = getcwd;
    any '/' => sub {
  • Radek Kotowicz commented on Moving data around with Yertl over ODBC (to HANA)


    Thanks a lot for a very informative comment.

    Good to know about the recent changes to the cmd-line syntax. I should have checked the latest version out before doing my recent tests. I'll need to do that now and merge my modifications in. Once I do that I'll reach out to you so that you can take a look at the diffs.

    I'll be also happy to add a --batch option but this would not always implicate using execute_array. If we use ODBC driver this is the case but with other DBI drivers (e.g. DBD::MySQL) we would end up with one round-trip per tup…

  • Erez Schatz commented on List::Slice - Slice-like Operations for Lists

    I can't read this. The gifs are way too distracting.

Subscribe to feed Responses to Comments from preaction

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.