Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Eric Wilhelm (6389)

Eric Wilhelm
  (email not shown publicly)
+ -

  Journal: Open Source Summer Perl Jobs for College Students on 2010.03.26 5:46

Journal by Eric Wilhelm on 2010.03.26 5:46
User Journal

The Perl Foundation is participating in Google Summer of Code 2010 and will begin accepting applications from students on the 29th.

If you are a college student interested in Open Source software, now is the time to get involved.

Read More 0 comments

+ -

  Journal: Google Summer of Code is coming on 2010.03.09 2:54

Journal by Eric Wilhelm on 2010.03.09 2:54
User Journal

The mentor org activities for this year's Google Summer of Code are getting underway.

Now is the time to get involved if you are interested in mentoring or helping The Perl Foundation find students to hack on perl, parrot, or cpan modules this summer.

Read More 0 comments

+ -

  Comment: Re: get a decent GUI quickly (Score 1) on 2010.02.09 16:22

You mention this about Java's success, but many of the pain points you've elaborated on are details pertaining to the CPAN and deployment.

If Adam is right about bigger solutions being the impetus to solve more detailed problems, then ease of learning/setup/deployment for the CPAN should have been solved years ago. Or, maybe I'm mis-interpreting.

As for my "candidate solution", making "gimme a GUI" quick is something I've been trying to do with FreeTUIT. After years of developing with wxWidgets, I've gotten progressively fed-up with a series of its flaws and concluded that its oversized abstractions and cross-platform oddities make it unworkable. Now that PerlQt is finally available under an LGPL license (so you can legally take it to the office), I'm exploring that as a new foundation for FreeTUIT.

GUI programming does run up against a problem with threads in high-level languages. The simple example is non-blocking usage of a web API (which doesn't strictly require threads, but they could greatly simplify the usage.) More complicated is e.g. drawing into two widgets in parallel.

Read More 62 comments
Comments: 62
+ -

  Comment: File::Fu (Score 1) on 2010.01.03 1:19

by Eric Wilhelm on 2010.01.03 1:19 (#71468)
Attached to: CPAN's Greatest Hits - Path::Class

I could never remember whether it was Path::Class or Class::Path for some reason. Plus there's that "just throw an error" thing and some weird business about manipulating filenames for a foreign operating system which seemed a oddly pervasive in the source. Thus: File::Fu.

Read More 5 comments
Comments: 5
+ -

  Comment: Don't cross the streams (Score 1) on 2009.11.17 21:16

by Eric Wilhelm on 2009.11.17 21:16 (#71159)
Attached to: Why no plan for nested TAP?

The benefit of done_testing() is that you can be certain that "we got this far and ran this line of code."

But there's nothing like that in your subtest sub {}, so you can't be sure that there wasn't some a goto(), exit(), or return() which silently caused a bunch of tests to be skipped.

Similarly, END {done_testing()} does nothing that wasn't already accomplished by 'no_plan'. Calling done_testing() at the lexical end of your file is an assertion about control flow.

Thus, an implicit done_testing() on a 'without plan' subtest is redundant. But there are three modes here and your subtest() examples only show two: 1. plan, 2. no plan, 3. lexical plan (aka done_testing()). So:

    subtest sub {
        ok(1, 'whatever');

And why not 'with_plan'/'without_plan' so we can use the quoting of the fat arrow?

Read More 14 comments
Comments: 14
+ -

  Comment: Shebangml? (Score 1) on 2009.09.10 19:04

by Eric Wilhelm on 2009.09.10 19:04 (#70552)
Attached to: Language choice motivated by greed

It's sort of what PHP should have been in that your templates are just templates and it only executes actions if the interpreter allows them.

But that's an engineering feature. I can't tell you how to sell it on merit.

Read More 2 comments
Comments: 2
+ -

  Journal: Combust and the "preview problem" on 2009.09.06 20:33

Journal by Eric Wilhelm on 2009.09.06 20:33
User Journal

I've been working on Combust::Spontaneously as a solution to the "preview problem".

Read More 0 comments

+ -

  Comment: Re: the real problem is... (Score 1) on 2009.07.07 14:38

by Eric Wilhelm on 2009.07.07 14:38 (#69352)
Attached to: Reputations

The internet doesn't have beer (no, "BYO" doesn't count.) It also lacks identity, intonation, and facial expression (I blame skype and similar proprietary communication tools (and closed networks) for the ongoing lack of ubiquitous ability to truly communicate -- such as in the always-promised, never-delivered virtual pub.)

And, I still think we need the chairkick protocol.

But seriously: sure, you should consider that people might misread your posts and you should be generally nice. On the other hand, you should also consider that you might be a jerk who misreads everything and gets all huffy about it. (See, now I have to point out that I'm not calling anyone a huffy jerk... but surely that sort of person will have stopped reading already, so maybe it sorts itself.)

I've often feared that my brutal honesty interferes with my genuine helpfulness. But remember: if you live in fear, the terrorists win!

Read More 7 comments
Comments: 7
+ -

  Comment: troll? FUD? Hidden Agenda? (Score 1) on 2009.07.07 14:14

by Eric Wilhelm on 2009.07.07 14:14 (#69351)
Attached to: There is a word for that.....

Who are you, 'pozer' (you didn't fill out your profile), and on what authority can you say that chromatic (see:,, is a "troll", "ignorant", or "closed minded". His agenda also seems to be rather un-hidden.

I'm sad that RGS doesn't want to be pumpking any longer, and I know that pumpking is a difficult task requiring intense commitment.

But, I'm also sad that new Perl users still have to be given a 20-year history lesson to understand that some extremely useful pragmas and other functionality can't be the default because some non-contributing users (who only use perl as a "bash on steroids" anyway) might have to look at code they wrote 15 years ago before upgrading their perl (even though they haven't upgraded in 5 years.) If the users who don't write new Perl code are given this much priority in the language's design, this sends a pretty clear message that Perl is not intended for writing new code.

And I still can't understand why users who don't want Perl to change are the slightest bit concerned about whether a new version changes. If you aren't ever going to upgrade, it won't affect you!

Those of us who have written Perl in the last 10 years won't have a problem with the sort of changes chromatic has been proposing -- and if we still have a mix of crufty old code in-house we know how to deal with that.

The alternative to updating old code is, of course, to rewrite everything in a different language. If Perl is not going to change, that sort of rewrite is going to keep happening and there won't be any point in shipping a new version.

Read More 19 comments
Comments: 19
+ -

  Comment: Re:shootout benchmarks... (Score 1) on 2009.06.01 22:14

I would be very interested in seeing regular outputs and graphs from such a thing, and would put some effort into writing code as tuits become available.

One thing to consider is having more than one way to do it -- i.e. including multiple versions of a benchmark in regular runs. This would show when things like "$var += 1" and "$var++" have performance gaps or convergence.

Read More 12 comments
Comments: 12
+ -

  Journal: TPF grant update on 2009.05.02 22:02

Journal by Eric Wilhelm on 2009.05.02 22:02

+ -

  Journal: The Future is Shrouded in History on 2009.04.23 3:32

Journal by Eric Wilhelm on 2009.04.23 3:32
User Journal

Adam wants to dust off the Perl websites and pretty them up. This is going to be an interesting project, starting with the archeological dig through the DNS and some various site maintainer addresses.

Read More 1 comments
Comments: 1
+ -

  Journal: wanted: perl evalbot on 2009.04.19 2:33

Journal by Eric Wilhelm on 2009.04.19 2:33
User Journal

Your mission, should you choose to accept it, is to create an online 'evalbot' for the latest stable version of Perl. This could be a crippled version of Perl, such that it will only run for N seconds, refuses to execute system commands or load certain modules and so forth. The goal is simply to give users a zero-footprint way to play with Perl code in their browser. Bonus points if it is easy (and safe) to host.

Read More 1 comments
Comments: 1
+ -

  Comment: Re: it's at least a filtered mirror? (Score 1) on 2009.04.08 2:43

by Eric Wilhelm on 2009.04.08 2:43 (#68055)
Attached to: Missing POD Boilerplate

Without doing more reading, I'm only guessing that the thing behaves something like what we were discussing around the time of this thread.

That is, without doing any porting, you simply cut everything which doesn't run on 5.6.2 - and if you had an earlier version which did work there, you freeze it at that version.

Which is why I say "only the latest" is supported. I would probably be more inclined to take bugfixes from an active backporter than against an old version.

But it's generally more likely that code I write in the future will be written in the future rather than in the past.

Read More 10 comments
Comments: 10
+ -

  Comment: the backporter provides support? (Score 1) on 2009.04.07 19:38

by Eric Wilhelm on 2009.04.07 19:38 (#68050)
Attached to: Missing POD Boilerplate

I also think this is a great idea (and have suggested such a thing more than once.)

But I would like to see this be more clear about the fact that it is an abomination (and therefore modules are not supported unless explicitly labeled as such.) The "Report bugs" link does take you through David, so presumably he'll be handling this :-)

In general, the implicit open-source support policy is pretty straightforward: "if you're using an old version, too bad." Backporters and some authors might be exceptions to this rule.

Perhaps "backported by" or "superseded" messages -- maybe an index of that sort of stuff.

Read More 10 comments
Comments: 10