|
|
Selected Release Announcements
-
Search your perl documentation w/ perldoc-search
With the perldoc-search program, you can easily search all your perl documentation to find where that elusive "add_build_element" method is documented.When I say this: perldoc-search add_build_element I get this: perltoc - perl documentation table of contentsModule::Build::API - API Reference for Module AuthorsModule::Build::Cookbook - Examples of Module::Build Usage Read more of this story at use Perl.
-
Baltic Perl Workshop
I would like to announce the pilot Perl event in Baltic States: Baltic Perl Workshop 2009.It happens on 21st of November, 2009 in Riga, the capital of Latvia.Venue is located in the beautiful center of Old Town. Konventa hotel offers special price for attendees of Baltic Perl Workshop: 50 € per night (single or double room).Please consider attending first ever Baltic Perl Workshop (there will be no more first one). Talk submissions are open. The workshop is free. Read more of this story at use Perl.
-
Perl 6 Design Minutes for 06 June 2009
The Perl 6 design team met by phone on 06 May 2009. Larry, Allison, Patrick, Nicholas, and chromatic attended. Read more of this story at use Perl.
-
Rakudo Perl 6 development release #18
On behalf of the Rakudo development team, I'm pleased to announce the June 2009 development release of Rakudo Perl #18 "Pittsburgh". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine. The tarball for the June 2009 release is available from http://github.com/rakudo/rakudo/downloads . Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo . Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Pittsburgh", which is the host for YAPC|10 (YAPC::NA 2009) and the Parrot Virtual Machine Workshop. Pittsburgh.pm has also sponsored hackathons for Rakudo Perl as part of the 2008 Pittsburgh Perl Workshop. In this release of Rakudo Perl, we've focused our efforts on refactoring many of Rakudo's internals; these refactors improve performance, bring us closer to the Perl 6 specification, operate more cleanly with Parrot, and provide a stronger foundation for features to be implemented in the near future. Some of the specific major changes and improvements in this release include: Rakudo is now passing 11,536 spectests, an increase of 194 passing tests since the May 2009 release. With this release Rakudo is now passing 68% of the available spectest suite. Method dispatch has been substantially refactored; the new dispatcher is significantly faster and follows the Perl 6 specification more closely. Object initialization via the BUILD and CREATE (sub)methods is substantially improved. All return values are now type checked (previously only explicit 'return' statements would perform type checking). String handling is significantly improved: fewer Unicode-related bugs exist, and parsing speed is greatly improved for some programs containing characters in the Latin-1 set. The IO .lines and .get methods now follow the specification more closely. User-defined operators now also receive some of their associated meta variants. The 'is export' trait has been improved; more builtin functions and methods can be written in Perl 6 instead of PIR. Many Parrot changes have improved performance and reduced overall memory leaks (although there's still much more improvement needed). The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode. The next release of Rakudo (#19) is scheduled for July 23, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month. Have fun! References: [1] Parrot, http://parrot.org/ [2] YAPC|10 http://yapc10.org/yn2009/ [3] Parrot Virtual Machine Workshop, http://yapc10.org/yn2009/talk/2045 [4] Pittsburgh Perl Workshop, http://pghpw.org/ppw2008/ Read more of this story at use Perl.
-
Rakudo Perl 6 development release #17
On behalf of the Rakudo development team, I'm pleased to announce the May 2009 development release of Rakudo Perl #17 "Stockholm". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the May 2009 release is available from http://github.com/rakudo/rakudo/downloads . Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo . Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Stockholm"; Stockholm Perl Mongers will be holding a Perl 6 hackathon on May 29 [3]. Perl 6 developer Carl Mäsak is a member of Stockholm Perl Mongers and a main author of November [4], Druid [5], proto [6], and other Perl 6-based packages. Carl also contributes patches to Rakudo, and has been stress-testing Rakudo over the past year, submitting nearly 400 bug reports. In this release of Rakudo Perl, we've made the following major changes and improvements: Rakudo is now passing 11,342 spectests, an increase of 875 passing tests since the April 2009 release. With this release Rakudo is now passing 68% of the available spectest suite. We now have an updated docs/ROADMAP . Errors and stack traces now report the file name and line number in the original source code. Some custom operators can be defined, and it's possible to refer to operators using &infix:<op> syntax. We can start to load libraries written in other Parrot languages. Regexes now produce a Regex sub. More builtin functions and methods have been rewritten in Perl 6 and placed as part of the setting. There are many additional improvements and features in this release, see docs/ChangeLog for a more complete list. The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode. The next release of Rakudo (#18) is scheduled for June 18, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month. Have fun! References: [1] Parrot, http://parrot.org/ [2] Stockholm.pm, http://sthlm.pm.org/ [3] Stockholm Perl 6 hackathon, http://vic20.blipp.com/pipermail/kameler/2009-May/000318.html [4] November wiki engine, http://github.com/viklund/november/ [5] Druid, http://github.com/masak/druid/ [6] Proto, http://github.com/masak/proto/ Read more of this story at use Perl.
-
Beginner's Introduction to Perl 5.10, Part 2
Perl 5 has come a long way in the past few years. The newest version, Perl 5.10, added several new features to make your programs shorter, easier to maintain, easier to write, and more powerful. Here's how to start using files and strings in modern Perl.
-
A Beginner's Introduction to Perl 5.10
Perl 5 has come a long way in the past few years. The newest version, Perl 5.10, added several new features to make your programs shorter, easier to maintain, easier to write, and more powerful. Here's how to start using modern Perl productively.
-
Using Amazon S3 from Perl
Amazon's Simple Storage Service provides a simple, flexible, and inexpensive way to manage online data storage. Amazon's S3 modules for Perl make storing and retrieving data in your own programs almost trivial, leaving Amazon to worry about hosting, scaling, and backups. Abel Lin shows how to store, retrieve, and store data with Amazon S3.
-
Reverse Callback Templating
Many programmers know of the two main systems of templating. One embeds actual source code into the template. The other provides a mini language with loops, conditionals, and other control structures. There is a third way -- a reverse callback system. James Robson explains this best-of-both-worlds approach by demonstrating Perl's Template::Recall module.
-
Elements of Access Control
Some data is private. Other data, less so. Secure applications make it possible--and easy--to keep user data visible to the right people and invisible to the wrong people. Vladi Belperchinov explains how access control works and demonstrates with working code suitable for implementing your own access controls.
-
The evolution of Perl frameworks
by Mark Stosberg
In 2006, the arena
of Perl web frameworks pitted the heavyweight Catalyst against the lightweight
CGI::Application. Since then Perl’s framework
options have continued to evolve. While both CGI::Application and Catalyst
remain popular, several new options have appeared lately. Here’s a quick
rundown.
Titanium provides CGI::Application and a bundle of recommended plugins
with unified documentation and easier installation. Because the underlying
components are the same solid ones that have already been in use, it’s safe and
stable to use, despite the new name. Future plans include providing a download
package which bundles the dependency chain, for even easier installation.
HTTP::Engine is Moose-based
evolution of the HTTP request object we saw in Catalyst, along with the
abstractions to run web apps on various server backends. In short, it focuses
on the HTTP parts of the web framework stack. On top of that you can build a
complete framework in whatever style you want.
Mojo and Mojolicious represent a project lead
by Sebastian Riedel, one of the original Catalyst contributors. Mojo is
distictive for having no dependencies beyond core Perl. Mojo provides the same
kind of low-level HTTP components as HTTP::Engine, while Mojolicious represents
one possible complete framework built on top of it. Mojolicious’ distictive
feature is a new dispatching design in the spirit of Ruby-on-Rails “Routes”. I
have more in-depth review of
Mojo.
Some trends I see:
- Shared infrastructure — While Perl frameworks continue to compete at a
high level, we continue to collaborate on shared utility modules. Projects like
HTTP::FillInForm and Data::FormValidator get used by several frameworks, not re-invented.
- CGI.pm must die — While we share some things, HTTP::Engine, Catalyst and
Mojo have all invented their own HTTP request object, replacing the function of
CGI.pm. Clearly there is an interest is moving beyond this old standby, which
crams 172 subroutines into the CGI name space. (CGI::Application remains neutral on this point,
outsourcing the query object)
- Potential for convergence — A number of CGI::Application and Catalyst
plugins are rather similar, but not interchangable. Because they are open
source, they are usually easy to port from one framework to the other, but this
is not ideal. HTTP::Engine and Mojo are both a kind of “framework for
frameworks”. I see potential for projects to agree on which backend they use,
while providing distinctive experiences for programmers who may want to choose
a lightweight framework or a featureful one. The result could be web framework
plugins which more widely useful to the Perl community.
Mark Stosberg has been using programming Perl for the web for over a decade. He is
the Principal Developer at Summersault and
maintains several CPAN modules including
Titanium and
Data::FormValidator.
-
Perl 6 and Rakudo command line to be worked on in earnest
The Perl Foundation has announced a Hague Grant for Jerry Gay to implement the Rakudo Perl command line interface.
The work will be to define the S19 synopsis pertaining to command-line interaction with Perl 6, and to provide a Rakudo implementation of the synopsis.
Jerry will need to document the Perl 6 command line syntax, implement its tests, create a command line parsing library for Parrot, and implement a subset of the Perl 6 command line syntax.
I couldn't be happier with this direction. I made some vain stabs at command line interaction on Rakudo long ago, but not much came of it. Having a command line interface will make it much easier for users to work with Rakudo as it progresses. Perl without being able to do filtering magic isn't very Perly, no?
Patrick Michaud also received a Hague Grant, to work on the Perl Compiler Toolkit and regexes and other internal hoohah. I'm sure it's useful, but this feeble-minded reporter's head hurt when trying to follow the details of the grant.
-
Speak up for Catalyst
By Kieren Diment
Over the past couple of months, Matt Trout and I have been putting
together a book proposal for the Catalyst web framework. We did this
because a. we want to publish a book about Catalyst, and b. because a
publisher approached us. Now that the proposal is in, the editorial
board are concerned that there is insufficient market.
I've looked at
a bunch of statistics (mailing list size, Google hits, IRC channel
size, Amazon sales rankings and more) to compare the size of Catalyst
to a group of other web frameworks. Catalyst comes out at the bottom
of the top of this list, in that it's the least popular of the "big"
frameworks - Ruby on Rails, Django and so on. On the other hand, it's
clearly an order of magnitude more popular than the small frameworks
(Pylons, Turbogears and the like). We also know that Catalyst runs
some pretty big streaming media websites, including some that we're a
bit embarrassed (NSFW) to talk about.
Catalyst is also rumoured to be running the BBC iPlayer.
Our publisher now has cold feet, and wants to collect more
data on the size of the market before they give us the go-ahead, so
if you use Catalyst, please answer a short survey for us
. My aim is 100 responses (10% of mailing list subscribers).
The questions are as follows:
- What country are you in?
- How many people are on your team?
- How many of those people are writing code with Catalyst? If there are non Catalyst coders on your team, how many of the
whole team would you like to be writing Catalyst code?
- How many people using Catalyst on your team are subscribers to the
Catalyst mailing list?
- How many people writing Catalyst code on your team use the
#catalyst IRC channel on irc.perl.org?
- What do you see as potential for growth of Catalyst in your organisation? How many people do you think will be using Catalyst in your
organisation in 12 months? In 2 years?
Please email your answers to kdiment@uow.edu.au.
Kieren Diment is a
Researcher at the University of Wollongong in
Australia. He uses Perl and Catalyst for the social science research
that he does.
-
BBC joins Parrot Foundation advisory board
The Parrot folks announced that the BBC was now on its advisory board, and it makes me happy to see. It's good to have big players in the Perl world like ActiveState join the advisory board, but I think it will mean much more to the outside world to see organizations outside of the software industry involved.
Thanks to all at the Parrot Foundation for what I'm sure took untold hours of discussion, red tape and finagling.
-
Devel::NYTProf continues its march of awesomeness
The mighty Tim Bunce has added yet more cool features in 2.07. Brief summary:
- Runs on Windows
- You can now turn off statement-level profiling and just have subroutine-level profiling, for speed's sake
- Tracks recursion more accurately
- Subroutine calls made within string evals are now shown in reports.
Check the full change log for all the details.
Can we just all please buy Tim a beer for all his work on Devel::NYTProf, and Adam Kaplan for starting it? NYTProf is fantastic.
|