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)
Perl
-
Most Topular Stories
-
Perlbuzz news roundup for 2012-01-23
Perlbuzz23 Jan 2012 | 11:25 am -
Perlbuzz news roundup for 2012-01-16
Perlbuzz16 Jan 2012 | 4:38 pmThese 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 programming27 Jan 2012 | 3:20 pmSteven 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)20 Dec 2011 | 3:43 pmToday 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 Parrot17 Jan 2012 | 8:40 pmAt 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
-
Planet Parrot
-
parrot.org: Parrot 4.0.0 "Hyperstasis" Released!
17 Jan 2012 | 8:40 pmAt 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 amAt 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 amThe 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 pmWe'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 pmThis 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
-
The Perl Foundation
-
craigslist Charitable Fund Donates $100,000 to the Perl Foundation
24 Jan 2012 | 3:49 amThe 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
8 Jan 2012 | 6:29 amNicholas 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
7 Jan 2012 | 3:27 pmIts 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!
5 Jan 2012 | 12:15 amchromatic 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
1 Jan 2012 | 9:26 amBooking.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…
-
Planet Perl Six
-
Jonathan Worthington (6guts): Looking back, looking forward
15 Jan 2012 | 4:28 pmSo, 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 amSo, 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 pmBailador 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 pmThe 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 pmThe 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…
-
Modern Perl Books for modern Perl programming
-
Speed up Perlbrew with Test Parallelism
27 Jan 2012 | 3:20 pmSteven 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
25 Jan 2012 | 1:46 pmHere 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
23 Jan 2012 | 2:22 pmI 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
18 Jan 2012 | 4:13 pmImagine 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
17 Jan 2012 | 1:29 pmSometimes 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…
-
Perlbuzz
-
Perlbuzz news roundup for 2012-01-23
23 Jan 2012 | 11:25 amThese 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
16 Jan 2012 | 4:38 pmThese 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
16 Jan 2012 | 2:03 pmThe 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
9 Jan 2012 | 9:41 amThese 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.
4 Jan 2012 | 9:21 amMy 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.
-
Parrot
-
Where have all the Parrot gone?
10 Jan 2012 | 11:19 pmWe'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
12 Mar 2009 | 9:20 amYou 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!
17 Feb 2009 | 6:36 pmo/~ 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!
10 Feb 2009 | 8:06 amOne 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
14 Jan 2009 | 2:03 pmHeads 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.
-
House Absolute(ly Pointless)
-
▬▬▬▬▬▬▬▬▬▬▬▬▬▬
18 Jan 2012 | 10:07 am -
Netflix Has the Weirdest Categories
27 Dec 2011 | 12:40 pmI'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
20 Dec 2011 | 3:43 pmToday 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
13 Dec 2011 | 12:11 pmFor 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
11 Dec 2011 | 10:57 amI'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…
-
Twitter / perlnews
-
perlnews: CPAN: CGI-Buffer-0.27 (Nigel Horne) - http://t.co/H8uNcnlr
28 Jan 2012 | 6:43 amperlnews: CPAN: CGI-Buffer-0.27 (Nigel Horne) - http://t.co/H8uNcnlr -
perlnews: CPAN: TV-Mediathek-0.02 (Robin Clarke) - http://t.co/bLeAhWbf
28 Jan 2012 | 6:43 amperlnews: CPAN: TV-Mediathek-0.02 (Robin Clarke) - http://t.co/bLeAhWbf -
perlnews: CPAN: DBI-1.616_902 (Tim Bunce) - http://t.co/r581Loro
28 Jan 2012 | 4:45 amperlnews: CPAN: DBI-1.616_902 (Tim Bunce) - http://t.co/r581Loro -
perlnews: CPAN: Statistics-R-0.26 (Florent Angly) - http://t.co/rwJmXMwj
28 Jan 2012 | 4:45 amperlnews: CPAN: Statistics-R-0.26 (Florent Angly) - http://t.co/rwJmXMwj -
perlnews: Iron Man: JT Smith: Posted Perl + Pathfinder ==
28 Jan 2012 | 3:26 amperlnews: Iron Man: JT Smith: Posted Perl + Pathfinder == <3 to JT Smith (JT Smith) - http://t.co/P8qT6ZpI
-
Blog of Gbor Szab
-
Global symbol requires explicit package name
17 Jan 2012 | 11:03 amGlobal 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 pmA 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 pmNo, 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 pmUsing 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 amReading 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?
-
dagolden
-
Visualizing the Perl 5 support policy
22 Jan 2012 | 9:43 pmMy 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
20 Jan 2012 | 11:06 amBeginning 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
17 Jan 2012 | 9:45 pmLast 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
4 Oct 2011 | 11:56 amSchwern 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
13 Sep 2011 | 8:38 pmPath::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…
-
http://babyl.dyndns.or/galuga
-
A Quick Pas de Deux with Dancer
25 Jan 2012 | 5:00 amThis 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
29 Dec 2011 | 5:00 amIn 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
11 Dec 2011 | 5:00 amSomebody 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
4 Dec 2011 | 5:00 amI'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
24 Nov 2011 | 5:00 amAt $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…

