If you have a Perl news item you'd like to share, you may post it in this section.
Please try to avoid duplicating news; but pointers (with summaries) to important stories on other sites are acceptable here.
In this post I want to share my chef cookbook called cpan.
Chef is the modern platform for deploy automation and configuration.
One of chef great feature - one may create custom recipes to deploy/configure
specific applications, written on any languages. When I first met with chef,
I had already had some experience on deploying perl applications. I used standard build cycle:
perl Build.PL
./Build
./Build installdeps
./Build test
./Build install
So the idea of integrating perl application install come into my mind in natural way.
With cpan cookbook one may do standard perl build/test/install idioms using chef.
Here I am putting some use cases, just to give some sense of what it is. If you like it, you
may learn more on http://community.opscode.com/cookbooks/cpan.
Cpan cookbook use cases
Installing application, distributed with tar-ball. Let's say you have already fetch and store tar-ball with
others chef resources (the following code is self-explanatory). So you may easily install it into given install base:
remote_file '/tmp/app-0.0.1.tag.gz'
source 'http://local.server/app-0.0.1.tag.gz'
end
execute 'cd /tmp/ && tar -xzf app.tag.gz'
cpan_client 'my application' do
user 'root'
group 'root'
install_type 'application'
action 'install'
install_base '/path/to/your/application/home'
cwd '/tmp/app-0.0.1'
end
If you need just installing arbitrary cpan module, here some examples to start.
Install by given link:
cpan_client "http://search.cpan.org/CPAN/authors/id/M/MA/MARKSTOS/CGI.
+pm-3.59.tar.gz" do
user 'root'
group 'root'
module_name 'CGI'
action 'install'
end
If you install by distributive, you may even require concrete version:
cpan_client 'http://search.cpan.org/CPAN/authors/id/M/MA/MARKSTOS/CGI.
+pm-3.59.tar.gz' do
user 'root'
group 'root'
module_name 'CGI'
version '=3.59'
action 'install'
end
I'll be doing a live webcast about Pinto with Randal Schwartz for FLOSS Weekly. Tune in to http://live.twit.tv next Wednesday, March 27 at 08:30 (Pacific Time) to the see the show. Your can send in your questions in real-time via the #twitlive channel on irc.twit.tv. See you then!
Pinto is a robust tool for creating custom CPAN-like repositories of Perl modules. You can fill your repository with any combination of private and public modules, and then build/test/install them using the standard tools (e.g. cpan, cpanm, cpanp). Since you control the repository, you'll get exactly the same modules every time. Pinto also has some novel tools for tracking and managing changes, so you can upgrade modules with confidence and control.
Often when deploying application one may face the risk of divergence between testing and production environment.
Even though you have a stage servers `like production one', it'd be reasonable to check distributive in
production environment before release is happened. I would call it `early` testing. Yes, of course, some
subtle bugs will arise only in runtime phase, and unit test cannot cover it all, I say here about
prerequisite unmet issues. In perl world unit tests and prerequisites checks are executed in standart way. One follows standard procedure, when installing things.
I put here
example for Module::Build based project, but with ExtUtils::MakeMaker it's almost the same:
perl Build.PL # check dependencies and generate build file
./Build
./Build test # run unit tests
The cut off for submitting talks for YAPC::NA in Austin was supposed to be the 15th, but we’re moving the deadline to the end of this month. I've posted a link in reddit; maybe others can spread this news in forums, channels, mailing lists, etc. frequented by folk you'd like to see giving talks at YAPC. Thanks!
The Salt Lake Perl Mongers has been rebooted. We intend to hold monthly meetings, or occasional "emergency social meets" for those times when the monthly meeting doesn't come together. If you're in the Salt Lake area, join our mailing list and get involved.
The mailing list subscription page is available here. Once we've organized our first event I'll make one more announcement here in the Perl News section.
Perl Mongers groups get together for presentations and discussions about Perl and Perl-related topics. There's usually a social component as well. Perl Mongers is a great way to get to know the local Perl community, as well as to learn and share ideas. Over the past couple of years I've found the PM groups that I've participated in (Los Angeles, and Thousand Oaks) to not only be excellent resources, but also a lot of fun.
The Salt Lake Perl Mongers group seems to be arousing a lot of local interest. Please join us if you're in the area!
Jenkins - is well known continues integration server. One of it's great features - one may extend it by writing custom plug-ins. Recently I have created one plug-in to build and make distributive of perl applications.
It implements standard build scheme:
cd to source directory
install dependencies from source directory into local directory
and optionally create distributive from source directory
Other features are:
find 'tagged' directory with maximum version number ( implementing install from subversion tags )
applying different patches ( install other cpan modules )
If you want to be part of what will probably be a pivotal conference shaping the future of Perl, go register now. If you can't make it, please spread the word instead. Thanks. :)
We've received payment from seven sponsors so far and have begun thanking them on the website and elsewhere. cPanel, based in Houston, Texas, have donated $10k in cash and lots more in ongoing support across the board. Thank you cPanel! (Their job site.)
The top 6 ideas at our 2013 Ideas Collector (please, only vote if you are going) are:
If you want to be part of what will probably be a pivotal conference shaping the future of Perl, go register now. If you can't make it, please spread the word instead. Thanks. :)
Many of you know of my best buddy of three decades, Bill Harp. He's the guy who planned all those wonderful Stonehenge parties, and helped me out with other marketing activities over the years.
I'm currently starting a 13-day cruise around South America and I got a text from his wife Michelle. I don't have many details, but apparently he suffered a major heart attack yesterday, and lost oxygen for quite a while, went into surgery to insert stents, and is currently in a medically induced coma. They hope to revive him tomorrow, but there's a lot going on.
Please keep Bill and Michelle in your thoughts. Thank you.
UPDATE: Bill never recovered. Dead a few hours ago.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
You can find a
story (= a novella) I wrote about open-source development (with some
focus on Perl) titled The Human Hacking Field Guide. It is somewhat-non-realistic
realism fiction, with many jokes sprinkled in. And its text in English, along
with its
DocBook 5/XML source is made
available
under the
Creative Commons Attribution-ShareAlike Licence which gives a lot
of permission for a lot of re-use, and was recently placed in
a GitHub
repository for easy check out, forking, issue reporting, and some pull
requests.
I’d be happy to hear any comments, hear if you enjoyed this story,
or if you found some faults - your criticism (I am not a native English
speaker). If you liked the story, I would appreciate if you can share it
on-line and off-line.
Here is the summary:
Jennifer is an honours student in her high school senior year in 2005 near
Los Angeles, California. Encouraged by her best friend, Taylor, she decides
to try her luck at becoming an enthusiast of open source software
development. Taylor puts her under the tutorship of “Erisa”,
a more experienced and also female developer of open source software, who
is a self-aware punk, who considers the pop culture, that Jennifer is a fan
of, detestable. Jennifer remains determined to learn how to develop
open source software from Erisa, but with a few surprises along the way.