Perl

  • Most Topular Stories

  • Perlbuzz news roundup for 2012-01-23

    Perlbuzz
    Andy Lester
    23 Jan 2012 | 11:25 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Perl QA Hackathon last call for participation (nntp.perl.org) RJBS gives the history of Dist::Zilla (perlmonks.org) What to avoid in BEGIN blocks (blogs.perl.org) Visualizing the improved Perl 5 release cycles (dagolden.com) Perl tools for working with PostgreSQL logs (depesz.com)
  • Perlbuzz news roundup for 2012-01-16

    Perlbuzz
    Andy Lester
    16 Jan 2012 | 4:38 pm
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Modern Perl 2011-2012 edition released (modernperlbooks.com) Developing parsers incrementally w/Marpa (blogs.perl.org) Parrot tickets migrated to @GitHub. (perlbuzz.com) Thank you, CPAN Testers (blogs.perl.org) The case of the overloaded curlies (blogs.perl.org) Perl more viable for webdev than ever (blogs.perl.org)
  • Speed up Perlbrew with Test Parallelism

    Modern Perl Books for modern Perl programming
    chromatic
    27 Jan 2012 | 3:20 pm
    Steven Haryanto's Perl First World Problems #1 reminded me of something I've taken for granted lately. You may have read my Controlling Test Parallelism with prove and Parallelism and Test Suites. I still have Test::Harness parallelism enabled by default on most of the machines where I install my own Perls. While I haven't yet filed tickets and tried to write patches for modules which need a little help to run tests in parallel, I've only found a few lately that need work. That's nice—having a module install through cpanm in five seconds is a lot better than ten seconds or more. (I like…
  • The Perl 5.15.6 Epigraph

    House Absolute(ly Pointless)
    Dave Rolsky
    20 Dec 2011 | 3:43 pm
    Today I had the privilege (or punishment?) of releasing Perl 5.15.6, the latest monthly dev release of Perl 5. Part of the Perl release tradition is to include an epigraph with each release. The epigraph is a quote of some sort that goes at the beginning of the release announcement. I can't find the first epigraph but if I had to guess it must be a quote from Tolkien accompanying one of the releases Larry Wall did. The source code for Perl itself is liberally littered with Tolkien quotes. One of the reasons I wanted to do a Perl release was to have an opportunity to choose my own epigraph…
  • parrot.org: Parrot 4.0.0 "Hyperstasis" Released!

    Planet Parrot
    17 Jan 2012 | 8:40 pm
    At one extreme, it is possible to approach the subject on a high mathematical epsilon-delta level, which generally results in many undergraduate students not knowing what's going on. At the other extreme, it is possible to wave away all the subtleties until neither the student nor the teacher knows what's going on. -Stanley J. Farlow, Preface to Partial Differential Equations for Scientists and Engineers On behalf of the Parrot team, I'm proud to announce Parrot 4.0.0, also known as "Hyperstasis". Parrot read more
  • add this feed to my.Alltop

    Planet Parrot

  • parrot.org: Parrot 4.0.0 "Hyperstasis" Released!

    17 Jan 2012 | 8:40 pm
    At one extreme, it is possible to approach the subject on a high mathematical epsilon-delta level, which generally results in many undergraduate students not knowing what's going on. At the other extreme, it is possible to wave away all the subtleties until neither the student nor the teacher knows what's going on. -Stanley J. Farlow, Preface to Partial Differential Equations for Scientists and Engineers On behalf of the Parrot team, I'm proud to announce Parrot 4.0.0, also known as "Hyperstasis". Parrot read more
  • Andrew Whitworth: Parrot 4.0.0 "Hyperstasis" Released!

    17 Jan 2012 | 2:00 am
    At one extreme, it is possible to approach the subject on a high mathematical epsilon-delta level, which generally results in many undergraduate students not knowing what’s going on. At the other extreme, it is possible to wave away all the subtleties until neither the student nor the teacher knows what’s going on. -Stanley J. Farlow, Preface to Partial Differential Equations for Scientists and Engineers On behalf of the Parrot team, I’m proud to announce Parrot 4.0.0, also known as “Hyperstasis”. Parrot is a virtual machine aimed at running all dynamic languages. Parrot 4.0.0 is…
  • Andrew Whitworth: Rosella Date

    15 Jan 2012 | 2:00 am
    The Advent calendar idea ended up terribly. Let us never speak of it again. The holiday season was particularly busy this year with a higher-than-average load of family- friend- and work-related activities. Combine that with an unexpected (and absolutely unappreciated) invasion of a particularly unpleasant and long-lasting stomach bug, and you have something of a perfect storm. I won’t go into the details any further on this particular blog, but I will mention in passing that I’ve become extremely suspicious about the basic hygene habits of the other little turdbags that my son goes to…
  • ParrotBlog: Where have all the Parrot gone?

    10 Jan 2012 | 11:24 pm
    We've stopped posting to this blog, but we're not done working on Parort. If you're looking for more Parrot blogging goodness, head over to parrot.org or planet.parrot.org.
  • parrot.org: Parrot Documentation Revision Effort (Blog trois)

    10 Jan 2012 | 11:07 pm
    This blog is to announce the completion of placing all of Parrot's documentation on 'parrot.github.com'. The documentation ranges from the present version (i.e., v3.11.0) to Parrot's release v0.0.6(0)[1]. To view the documentation, please navigate your preferred browser to http://parrot.github.com and select (or click) the "Parrot Documentation Releases (3.10.0 - 0.1.1)" link. Thank you. read more
 
  • add this feed to my.Alltop

    The Perl Foundation

  • craigslist Charitable Fund Donates $100,000 to the Perl Foundation

    mdk
    24 Jan 2012 | 3:49 am
    The Perl Foundation is proud to announce that the craigslist Charitable Fund is supporting the Perl community with a generous donation of $100,000 toward Perl5 maintenance and for general use by the Perl Foundation. According to craigslist CEO and former Perl Hacker Jim Buckmaster, "craigslist has gloried in and relied upon Perl for most of its software development for more than a decade. craigslist Charitable Fund is honored to recognize the wizardry and generosity of the Perl community, help ensure the ongoing maintenance of Perl5, and contribute to the future evolution of Perl." He added,…
  • Improving Perl 5: Grant Report for Month 4

    Karen
    8 Jan 2012 | 6:29 am
    Nicholas Clark writes: The start of December was mostly spent unpicking and simplifying how embed.h is included in perl.h. embed.h is one of the core's generated headers, containing C pre-processor directives to simplify use of the C API functions, by wrapping them such that the programmer doesn't need to deal with the implementation details of ithreads. Over the years, embed.h has come to be included by perl.h in 4 different places depending on which OS perl is being built on. The confusion started 13 years ago when a second #include "embed.h" was added later in perl.h to support the now…
  • 2012Q1: Call for Grant Proposals

    Alberto Simões
    7 Jan 2012 | 3:27 pm
    Its that time of the year, again. The Perl Foundation is looking at giving some grants ranging from $500 to $2000 in February 2012. You don't have to have a large, complex, or lengthy project. You don't even have to be a Perl master or guru. If you have a good idea and the means and ability to accomplish it, we want to hear from you! Do you have something that could benefit the Perl community but just need that little extra help? Submit a grant proposal until the end of January. As a general rule, a properly formatted grant proposal is more likely to be approved if it meets the following…
  • Perl.com Wants Your Articles!

    Karen
    5 Jan 2012 | 12:15 am
    chromatic writes: Last year (2011), Perl.com came back to life, this time under the guidance of The Perl Foundation. We're glad to be back, publishing tips, tricks, and tutorials for novices, dabblers, and professionals alike! We've already published some great articles, but we need your help. What cool things are you doing with Perl in your work? What clever hacks have you perpetuated as you play? Which module did you just now discover to save you time and frustration? What technique did someone show you to get your work done faster, with more simplicity and elegance? Perl can do anything,…
  • Booking.com Sponsors 
€100,000 to Perl 5 Development

    mdk
    1 Jan 2012 | 9:26 am
    Booking.com donates again to The Perl Foundation, gives €100,000 to Perl 5 development Booking.com have announced that they have donated a new grant of €100,000 to the Perl Foundation to aid with further development of the Perl 5 programming language. The grant follows Booking.com's $50,000 grant to TPF that was just recently successfully concluded, having contributed to a significant improvement in quality of the Perl 5 core. Booking.com is the world's largest and fastest growing online hotel reservation service. It is based in Amsterdam, the Netherlands. "Perl is central to the success…
  • add this feed to my.Alltop

    Planet Perl Six

  • Jonathan Worthington (6guts): Looking back, looking forward

    15 Jan 2012 | 4:28 pm
    So, 2012 is here, and here’s my first Perl 6 post of the year. Welcome! :-) Looking Back 2011 brought us a faster Rakudo with vastly improved meta-programming capabilities, the first work on exploring native types in Perl 6, the start of a powerful type-driven optimizer and many other bits. It also took me to various conferences and workshops, which I greatly enjoyed. I’d like to take a moment to thank everyone involved in all of this! This was all great, but slightly tainted by not managing to get a Rakudo Star distribution release out based on a compiler release with all of these…
  • Solomon Foster: Last Piece of Pi

    15 Jan 2012 | 11:43 am
    So, last spring I did a series of posts on making a Pi spigot. Unfortunately, the project foundered a bit, as it turned out that only Rakudo had the subsignatures needed to make the code pretty, but only Niecza had the big integers needed to make the code work. Fast forward to today. Now both Rakudo and Niecza can handle the best version of the code with no problem! Let me emphasize that again. A year ago, neither implementation had those two features. Eight months ago, each had one. Today both have both. What’s more, Rakudo seems to have made some pretty impressive speed improvements. I…
  • Tadeusz Sośnierz (tadzik): State of Dancer on Perl 6

    5 Jan 2012 | 6:24 pm
    Bailador is growing better and bigger and starts to resemble a real tool more and more. Let’s see what new features it has gained recently. Remember the first example in perldoc Dancer? It’s not really different in Bailador: use Bailador; get '/hello/:name' => sub ($name) { return "Why, hello there $name" } baile; Aside of being a little Spanished, what did it give us? We have subroutine signatures in Perl 6 so we can pass the :name parameter to the sub; there’s no need to use param() now: it’s gone. You don’t need to pass everything using GET of course. post keyword is also…
  • Moritz Lenz (Perl 6): Perl 6 in 2011 - A Retrospection

    31 Dec 2011 | 12:00 pm
    The change of year is a good occasion to look back. Here I want to reflect on the development of Perl 6, its compilers and ecosystem. At the start of the year, masak's Perl 6 Coding Contest continued from 2010, concluding in the announcement of the winner. I must admit that I still haven't read all the books I won :-) Specification 2011 was a rather quiet year in terms of spec changes; they were a mixture of responses to compiler writer and user feedback, and some simplifications and cleanups. Positional parameters used to be allowed to be called by name; this feature is now gone. That both…
  • Carl Masak: The -c flag

    28 Dec 2011 | 2:49 pm
    The p6cc contest is underway. Yay. [Coke]++ discovered on the channel that Rakudo nom didn't have a -c flag. The five base-test files all syntax-check the corresponding code files using the -c flag. Which made Rakudo nom and the base-test files incompatible. Oh noes. <moritz> moritz-- # not reviewing the test harness properly The fault is even more mine, of course, since I wrote the test harness. And I may be an "early adopter" with Perl 6, but I'm always very late at switching over to a new Rakudo branch. I was late at switching over to ng, back when it was still called ng. And I'm…
 
  • add this feed to my.Alltop

    Modern Perl Books for modern Perl programming

  • Speed up Perlbrew with Test Parallelism

    chromatic
    27 Jan 2012 | 3:20 pm
    Steven Haryanto's Perl First World Problems #1 reminded me of something I've taken for granted lately. You may have read my Controlling Test Parallelism with prove and Parallelism and Test Suites. I still have Test::Harness parallelism enabled by default on most of the machines where I install my own Perls. While I haven't yet filed tickets and tried to write patches for modules which need a little help to run tests in parallel, I've only found a few lately that need work. That's nice—having a module install through cpanm in five seconds is a lot better than ten seconds or more. (I like…
  • Avoiding The Vendor Perl Fad Diet

    chromatic
    25 Jan 2012 | 1:46 pm
    Here we go again. It looks like Red Hat is distributing Perl without the core library ExtUtils::MakeMaker. If you're not familiar with the details of the Perl 5 build chain, all you need to know is this: without MakeMaker, you're not installing anything from the CPAN. Ostensibly Red Hat and other OS distribution vendors split up Perl 5 into separate packages to save room on installation media. Core Perl 5 is large and includes many, many things that not everyone uses all the time... but the obvious reaction to defining a core subset of Perl 5 that a vendor can call "perl" is another of those…
  • A Decades-Old Technique to Improve Programming Languages

    chromatic
    23 Jan 2012 | 2:22 pm
    I promised in Testing Your Templates to explain how to solve the problem of the divergence between testable, debuggable code in your host language and a big wad of logic in a template language. This problem is an example of the pattern of Why Writing Your Own DSL is More Difficult Than You Think. Certainly Template Toolkit is among the better templating systems (I've written a couple myself), but it exhibits problems endemic to the process. (Then again, so does PHP. Now multiply that by the fact that some people use templating systems written in PHP and if you have to lie down for a while…
  • Imagine if caller() Returned Stack-Capturing Objects

    chromatic
    18 Jan 2012 | 4:13 pm
    Imagine if Perl 5's caller returned an object which represented the call chain to the point of the object's creation. I want to inspect the call stack within a helper module, but I don't care about the call stack within the module. I want to use lots of little helper functions, because that's good design, but caller works against that. Looking up the stack means keeping track of the magic number of call frames within my module I currently use, and that's one more thing to update when I change things. That's structural code highly coupled to the arrangement of other code, and if that doesn't…
  • Testing Your Templates, and Why It Doesn't Always Work

    chromatic
    17 Jan 2012 | 1:29 pm
    Sometimes you find bugs in the most surprising places. I've long used test-driven design for code I care about. Knowing that it works, works reliably, and will continue to work helps me write the right thing. As I've gained experience with testing, I've come to appreciate the nuances of how and what to test and why. For example, I often don't bother to test exploratory code—it's more important for me to learn how code might work to help me figure out how to design the real thing than it is to hew to a rigid mindset of "You must always test everything." Similarly, I see little value in…
  • add this feed to my.Alltop

    Perlbuzz

  • Perlbuzz news roundup for 2012-01-23

    Andy Lester
    23 Jan 2012 | 11:25 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Perl QA Hackathon last call for participation (nntp.perl.org) RJBS gives the history of Dist::Zilla (perlmonks.org) What to avoid in BEGIN blocks (blogs.perl.org) Visualizing the improved Perl 5 release cycles (dagolden.com) Perl tools for working with PostgreSQL logs (depesz.com)
  • Perlbuzz news roundup for 2012-01-16

    Andy Lester
    16 Jan 2012 | 4:38 pm
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Modern Perl 2011-2012 edition released (modernperlbooks.com) Developing parsers incrementally w/Marpa (blogs.perl.org) Parrot tickets migrated to @GitHub. (perlbuzz.com) Thank you, CPAN Testers (blogs.perl.org) The case of the overloaded curlies (blogs.perl.org) Perl more viable for webdev than ever (blogs.perl.org)
  • Parrot tickets now converted to GitHub

    Andy Lester
    16 Jan 2012 | 2:03 pm
    The Parrot project is now using GitHub's issue tracking system. Parrot has used GitHub's source code control for months now, but we had hundreds of tickets in the Trac system.  Now, over the past few weeks, I've been working with Rick from GitHub to migrate the tickets out of Trac into GitHub's issue system. Like most data conversion projects, the challenges were less about the coding and more about making the decisions about how to massage the data between two similar systems.  For example, Trac has fields for Severity and Priority of tickets, but GitHub only has free-form tagging, so I…
  • Perlbuzz news roundup for 2012-01-09

    Andy Lester
    9 Jan 2012 | 9:41 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Perl interface to the nginx web server (blogs.perl.org) The 2011 Perl 6 coding contest: Write Perl 6 code, win $100 of prizes (strangelyconsistent.org) Perl documentation is awesome (blogs.perl.org) YAPC::NA 2012 is now accepting talk proposals (blogs.perl.org) A look back at Perl 2011 (onionstand.blogspot.com) Installing Citrus Perl on OS X (blogs.perl.org) How do I debug memory usage? (blogs.perl.org) Perl::Critic finds annoying little bugs in your code…
  • Perl::Critic finds annoying little bugs in your code.

    Andy Lester
    4 Jan 2012 | 9:21 am
    My work colleague Mike O'Regan created a policy for the latest version of Perl::Critic. Now if you have a line of code like this: my $n += somefunc(); # Should be my $n = somefunc(); Perl::Critic will tell you Augmented assignment operator '+=' used in declaration at line X, column Y. Use simple assignment when initializing variables. If you haven't let Perl::Critic loose on your code yet, now's a great time to try. To the loyal Perl::Critic users, what's the nastiest bug Perl::Critic found for you? Let me know in the comments.
 
  • add this feed to my.Alltop

    Parrot

  • Where have all the Parrot gone?

    Christoph Otto
    10 Jan 2012 | 11:19 pm
    We've stopped posting to this blog, but we're not done working on Parort. If you're looking for more Parrot blogging goodness, head over to parrot.org or planet.parrot.org.
  • Less than a week to 1.0

    Coke
    12 Mar 2009 | 9:20 am
    You should be following parrot.org for all your parroty goodness, but in case this blog is your main connection......1.0 is due on Tuesday next week!
  • Parrot 0.9.1 "Final Countdown" released!

    kjs
    17 Feb 2009 | 6:36 pm
    o/~ We're leaving together,       but still its farewell o/~o/~ And maybe we'll come back,       To earth, who can tell? o/~o/~ I guess there is no one to blame       We're leaving ground           Will things ever be the same again? o/~o/~ It's the Final Countdown...       The Final Countdown  o/~--Europe, "The Final Countdown"On behalf of the Parrot team, I'm proud to announce Parrot 0.9.1"Final Countdown." Parrot (http://parrot.org/) is a virtual machine aimedat running all dynamic languages.Parrot 0.9.1 is available via CPAN (soon), or follow the…
  • Readers Needed!

    Whiteknight
    10 Feb 2009 | 8:06 am
    One of our key requirements for the release next Tuesday is improved documentation. Documentation is key, because it's the doorway through which new users will enter the world of Parrot. I've been doing a lot of work on documentation recently, along with several of the other developers. The problem is that from inside the project we can't always see where the holes are, and what the confusing bits are going to be. So, I'm asking for a little help from people who aren't current Parrot users or developers:We need you!We need people to read over the documentation and find the problem spots. What…
  • svn repository move

    Coke
    14 Jan 2009 | 2:03 pm
    Heads up! In the short term, parrot's svn repository will be relocating from perl.org to parrot.org.When this happens, there will be a small amount of downtime, and after that you'll be able to keep working with a simple 'svn switch' in your checkout.We were going to try to squeeze this in today, but that's been postponed. More details on the schedule as they become available.
  • add this feed to my.Alltop

    House Absolute(ly Pointless)

  • ▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    Dave Rolsky
    18 Jan 2012 | 10:07 am
  • Netflix Has the Weirdest Categories

    Dave Rolsky
    27 Dec 2011 | 12:40 pm
    I'm going through the Netflix movie rating interface right now rating films & tv shows to try to improve my recommendations. Sometimes after you rate something it asks you how often you watch films of a certain category. Presumably the category the thing you just rated belonged to. Some of the categories make sense, and some are completely insane. I can't figure out how they could possibly be useful in determining what I like. Some good examples ... Parks and Recreation - NBC TV Shows I don't give a flying crap what network the show is on. I can think of several other categories it…
  • The Perl 5.15.6 Epigraph

    Dave Rolsky
    20 Dec 2011 | 3:43 pm
    Today I had the privilege (or punishment?) of releasing Perl 5.15.6, the latest monthly dev release of Perl 5. Part of the Perl release tradition is to include an epigraph with each release. The epigraph is a quote of some sort that goes at the beginning of the release announcement. I can't find the first epigraph but if I had to guess it must be a quote from Tolkien accompanying one of the releases Larry Wall did. The source code for Perl itself is liberally littered with Tolkien quotes. One of the reasons I wanted to do a Perl release was to have an opportunity to choose my own epigraph…
  • VegGuide Needs a New Host

    Dave Rolsky
    13 Dec 2011 | 12:11 pm
    For many years, the VegGuide site has been hosted for free at Xmission, courtesy of Eric Waters. Eric has recently moved to a new position and is no longer at Xmission, so it's time for us to find a new host. Update: The site is owned by my animal rights group, Compassionate Action for Animals, and we are a 501(c)(3) non profit organization. If anyone in the lights of these pixels could offer free or cheap hosting for this site, please let me know. The site needs a dedicated host, either real or virtual, with at least 1.5GB of memory and 20GB of disk space. It's bandwidth use is fairly…
  • Compact "with-ish" statement for CoffeeScript

    Dave Rolsky
    11 Dec 2011 | 10:57 am
    I've been playing with CoffeeScript (CS) lately, and I really like it. JavaScript (JS) is full of annoyances that make coding more tedious and error-prone that it needs to be. CofeeScript does a good job of fixing many of those annoyances. CS doesn't provide anything like JS's with block. That makes sense, because with in JS is completely insane and broken. But sometimes you want to be able to say "given this object, call a bunch of methods on it". You can of course write something like this: foo = new Foo foo.bar(42) foo.baz(84, "x") Or in CS: foo = new Foo foo.bar 42 foo.baz 84, "x" If you…
 
  • add this feed to my.Alltop

    Blog of Gbor Szab

  • Global symbol requires explicit package name

    17 Jan 2012 | 11:03 am
    Global symbol requires explicit package name is a common, and IMHO very misleading error message of Perl. At least for beginners. The quick translation is "You need to declare the variable using my." For the full article visit Global symbol requires explicit package name
  • Use of uninitialized value

    15 Jan 2012 | 12:23 pm
    A lot of people consider the errors and warnings of Perl to be great. Usually that's true but in my experience, they can be very confusing to people who are not yet familiar with Perl. I'll describe some of them. For the full article visit Use of uninitialized value
  • How to get the Perl Weekly every day?

    14 Jan 2012 | 5:24 pm
    No, no! I am not wrapping time yet. I am just trying to smooth the production of the Weekly Perl newsletter. So I have started to post news items as I read them. If you would like to get updates more frequently than the weekly newsletter then this might be for you. For the full article visit How to get the Perl Weekly every day?
  • Understanding Regular Expressions - part 1

    11 Jan 2012 | 5:12 pm
    Using regular expressions provides us with enormous power, but reading and understanding complex regular expressions is not an easy task. I noticed, it feels much easier to write a regular expression than to read it. This is probably true regardless of the host language but in Perl we tend to use regexes much more than in other languages. For the full article visit Understanding Regular Expressions - part 1
  • How to read a CSV file using Perl?

    10 Jan 2012 | 4:54 am
    Reading and processing text files is one of the common tasks done by Perl. For example often you encounter a CSV file (where CSV stand for Comma-separated values) and you need to extract some information from there. Here is an example: For the full article visit How to read a CSV file using Perl?
  • add this feed to my.Alltop

    dagolden

  • Visualizing the Perl 5 support policy

    dagolden
    22 Jan 2012 | 9:43 pm
    My last post showed historical Perl 5 release cycles, but comments I got on and off the blog suggested that my vaguely positive sentiments about the official support policy were misunderstood. This post expands and clarifies my view. I have redone my Perl 5 release cycle graph again with a few changes. First, for the v5.4 through v5.8 series, I have broken the line to the final release, which I consider to be "outliers". I think the Perl community was lucky to get those releases — was lucky that someone stepped up and made them — and that they don't reflect a "normal development" or…
  • Visualizing Perl 5 release cycles

    dagolden
    20 Jan 2012 | 11:06 am
    Beginning with Perl 5, version 12, the Perl 5 language began an annual release cycle, with a new stable release around May of each year. Beginning with version 14, the Perl 5 maintainers also announced a formal support policy and ended support for version 10. This is a significant change from the history of Perl, so I though it would be interesting to see how recent release cycles have compared to historic ones. The chart below shows releases over time since Perl 5, version 4 when releases were more officially split between "stable" and intermediate releases. click for larger view (Note:…
  • Perl Oasis 2012 wrapup

    dagolden
    17 Jan 2012 | 9:45 pm
    Last weekend I attended the Orlando Perl Workshop. While the "hallway track" is one of the best parts of Perl workshops, the talks I saw were also excellent. Here is an overview of the sessions I attended. Doing the Jitterbug Jonathan Leto (dukeleto) presented Jitterbug, a cross language continuous integration tool for git (and written in Perl). It's a smaller, lighter tool than Jenkins, though it lacks distributed testing capabilities. It seems really good for small to medium sized Perl projects, as it already understands how to build and test things with a Makefile.PL or Build.PL. (see…
  • Yet another taint mode reminder

    dagolden
    4 Oct 2011 | 11:56 am
    Schwern just posted "How (not) To Load a Module..." that goes into great depth about the security risk in loading modules. The (not) funny thing is that none of what he's saying is a risk would be one when running in taint mode. Consider "/tmp/foo.pm" with this: package foo; print "Loaded foo\n"; 1; Then consider this example of how Module::Load does something "unexpected": $ perl -MModule::Load=load -wE 'my $file=shift; load $file' ::tmp::foo Loaded foo (The "threat" is that given an arbitrary module name to load, it will gladly load outside @INC.) What if that was run under taint…
  • How to find files with Path::Class::Rule

    dagolden
    13 Sep 2011 | 8:38 pm
    Path::Class::Rule is what you get when you imagine the love-child of Path::Class and File::Find::Rule. Here is part of the SYNOPSIS: use Path::Class::Rule; my $rule = Path::Class::Rule->new; # match anything $rule->file->size(">10k"); # add/chain rules # iterator interface my $next = $rule->iter( @dirs ); while ( my $file = $next->() ) { # $file is a Path::Class object ... } As you can see, it has the same method-chaining of rule helpers that File::Find::Rule does. However, it's not built on top of File::Find, so you get a real, lazy iterator instead of the…
  • add this feed to my.Alltop

    http://babyl.dyndns.or/galuga

  • A Quick Pas de Deux with Dancer

    yanick@babyl.dyndns.org (Yanick Champoux)
    25 Jan 2012 | 5:00 am
    This is going to be a short one, but potentially useful for anybody writing a Dancer template module, or just plain curious about Dancer's guts. So here goes: A few weeks ago, it came to my attention that Dancer's Dancer::Template::Abstract, the base class for its template modules, added a test to verify that the template it receives as an argument is really a file. Yay. Sanity tests are awesome. Except... what happens when a templating system is not file-based? A lot of exceptions and a very sad web application, that's what happen. If you haven't guessed yet, yes, there…
  • A Web Log Analyzer Called DuckFeet

    yanick@babyl.dyndns.org (Yanick Champoux)
    29 Dec 2011 | 5:00 am
    In this modern world, time is a rare commodity. It's a well-known fact. It has to be carefully budgeted and thriftily spent. There is never enough time to do everything one wants to do, so we have to prioritize, pick what is important and cut our loses on the rest. I so wish my brain had gotten the memo on that. It's not that my brainpan is teeming with brilliant ideas. It's just teeming with... very insistent ideas. Ideas that will not let go until I help them burst out of their cognitive cocoon and send them flutter free... and be usually squished on the hard surface of the…
  • Deploying Stuff With Git

    yanick@babyl.dyndns.org (Yanick Champoux)
    11 Dec 2011 | 5:00 am
    Somebody at $work asked me how I use Git to deploy stuff, probably working under the false hypothesis that wisdom is in any way, shape or form affiliated with yours truly. The fool... Yet, it is true that I had my share of tinkering with Git, and that I might have gleaned from my experience. So I sent him a couple of links leading to more wisdom-certified sources. They are listed at the end of this blog entry; if you have more good articles/blog posts that you'd like to add to the pile, please don't be shy and mention them in the comments. But I can't just stop there, really.
  • Cross-breeding Template::Declare with Moose

    yanick@babyl.dyndns.org (Yanick Champoux)
    4 Dec 2011 | 5:00 am
    I'm rather fond of Template::Declare. Its killer feature, for me, is how all tags are expressed via Perl-space syntax, which allows me to leverage perltidy to turn any great unreadable glob of HTML into nicely indented code (in comparison, my Mason templates always begin with the best of intention, and end up looking like the indentation fairy went berserk). But it also... irk me. In minimal ways. In ridiculous ways. In ways that I should overlook. But... I would so love to ditch the global template inheritance that is defined via Template::Declare->init( dispatch_to =>…
  • Dancing the Haka

    yanick@babyl.dyndns.org (Yanick Champoux)
    24 Nov 2011 | 5:00 am
    At $work me and my colleages want to set up a LAN radio station, so that we can all groove to the same soundtrack. To make things interesting, we want to be able to dynamically add songs to the playlist. From any machine. And since I don't really have time to do something like that, I'm setting myself a deadline of one evening to get it running. Got it? Good. For it's time to rip our shirts. And dance the Haka. Basic design Our app will have one 'collection' directory that is going to contain all mp3s. It will also have a 'playlist' directory. Each file of…
 
Log in