Swiss Perl Workshop 2013
It's going to happen!
Stay tuned. Updates follow!
Cheers,
Maettu & Roman
It's going to happen!
Stay tuned. Updates follow!
Cheers,
Maettu & Roman
[cross posted from its original blog]
Welcome to Perl 5 Porters Weekly, a summary of the email traffic on the perl5-porters email list. Once again subroutine signatures dominated the list. I'll put all of the discussion about them at the end of this summary. I've added an "official" license to these summaries. It's Creative Commons BY-NC 3.0. You can find the summary of rights granted by that license by following that link. The full license text is available in the github repo. Obviously, the content of emails quoted here are owned by their respective authors.
This week's dusty thread is CALL FOR DOCS: how to dual life? from the week of August 6, 2012. Rik was looking for a volunteer to document the process of dual-lifing core code. He specifically called out Tie::Scalar and Time::local. Anyone have any insight into this? Contact Ricardo Signes.
This week's quote of the week is about an epic csh behavior relating to getcwd. As if you needed more reasons to avoid csh.
How often have I told myself, "I'll kludge this now and rewrite it later"? And how many times did I actually go back and rewrite that kludgy bit? "Too often" and "not enough". Many job postings include the phrase "update legacy applications," as a euphemism for "rewrite poorly-designed spaghetti." The Y2K problem was a huge exercise in code out-living the developer's plan, with a healthy dose of cargo-culting thrown in. Lately, I've been learning to plan for a likely possibility: My code will survive to haunt my bug lists and my resume for a long time.
There was a tweet from Viacheslav Tykhanovskyi last Friday: My life during last weeks: waking up early to visit the next venue for yapc :-). Do you know what stands behind that less-than-140-character message?
Lately my foswiki on the stick has been throwing this error whenever I try launch it, looking into C:\xampp\apache\logs\error.log, this comes up:
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Skipping the long winded troubleshooting narrative, I remember that I just upgraded Skype to 5.10.0.116. After shutting down Skype, I am able to bring Foswiki up again.
It's interesting that Skype uses port 80 to do it's business.
Another day another generic text processing problem that many developers have had to solve before. I have a list of patterns and need to find if they exist in a group of files. If I did not need to do complex post processing then I could just use the command line like so
grep -ri -f patterns files/
Safari has just posted a sneak peek of my new video course Beyond Perl Fundamentals, successor to a video course whose name should be intuitable :-)
Tons of hard work. Some people can sit in front of a camera and deliver a flawless lesson in one take. I flub. I spent many hours hand editing with Camtasia to sync separate audio and video streams and edit out every little click. Hope it was worth the effort.
Note: The titular question applies only to different ways in Perl.
I am planning to write a small guide/comparison of the different ways to start a process in Perl and while thinking about all the ways i do know, became certain that:
1. my knowledge about the ways i know is not complete
2. there will be ways i do not even know about
Thus i am turning to the Perl community for help. Please tell me what ways you know to start a process in Perl and all of the permutations it can go through. :)
In case you haven't met it before, bcvi is a crazy backwards tool (written in Perl of course) that lets you type commands on a server to make things happen on your workstation. I've just released an update to the notifications plugin so I thought I'd blog about it here.
Here's a simple example to illustrate what the notifications plugin does. Imagine you've SSH'd into a server to kick off some long running command and you'd like to be notified when the command finishes. In this example, I'm running a database restore:
$ pg_restore -d acmecrm crm.pgdump; bnotify 'DB is restored!'
When the pg_restore completes, the bnotify
command will be run. Bnotify is an alias for bcvi which will send a message back to your workstation to pop up a desktop notification.
I've written a review of CPAN modules for getting a module's path, as previously promised.
This covers 14 modules, some of which offer a lot more than getting the path, and two of which offer nothing more than that. As ever, please let me know if you know of any module(s) I've missed.
I've written about the new Perl interface to the LDTP (Linux Desktop Testing Project) testing library that I had written. It already garnished some interest from people on Github. We've had some progress on that front you might be interested in. Also, we still need your help! :)
We added a new page to perlybook: http://www.perlybook.org/perltuts
On that page you can grab the tutorials that are available on Perltuts.com as mobi or epub book.
It was easy to integrate those tutorials: Write a small script that gets all tutorial names, store them in a cache and list them on the webpage. Write a source plugin for EPublisher and that's it!
Thanks to Mojolicious it's very easy to extend the webapp and the script to fetch the tutorial names was written within "a few minutes". For future web scraping tasks I'll use Mojo::UserAgent...
If you have ideas what sources we can integrate, please drop us a line at perlybook@perl-services.de!
Installing DB_File has been a pain, especially when binaries for db is no where to be found and instruction is rare. After spending a lot of time going through Google search result, I finally found this good instruction.
The binaries are available here.
Since my goal is to improve the compiler optimizer (staticly with B::CC, but also the perl compiler in op.c) I came to produce these interesting benchmarks.
I took the regex-dna example from "The Computer Language Benchmarks Game" at shootout.alioth.debian.org/
CPAN Ratings has had a face lift.
cross-posted from dams blog
So, as I said at YAPC::EU 2012, one thing that remains to be done before Dancer 2 can be released : migrating the plugins, making sure they work with it.
To be able to do that, what's best than an automatic testing facility ?
The goal is to get all Dancer plugins, test them with Dancer1, and Dancer2, and produce a report, to check which one fails and need fixing.
Easy ! let's use Metacpan. After searching, I finally
got a way to get the list of all modules that depend on Dancer. Then filtering
out the ones that don't contain "Plugin"
will do the trick.
If you've ever had the pleasure of poking around in your WWW::Mechanize or LWP::UserAgent cookie_jar, you'll know it's not an entirely painless process. It's certainly not impossible, but it feels a bit like jumping through hoops. The cookie_jar functionality in LWP::UserAgent and the modules which inherit from it is provided by HTTP::Cookies. Before I go any further, I'd like to thanks Gisle Aas for HTTP::Cookies, which is a very important bit of code. This isn't a complaint about HTTP::Cookies, but rather an attempt to make it even more accessible.
Before we do anything with cookies, let's make one request to ensure we have some cookies in our cookie_jar.
use WWW::Mechanize; my $mech = WWW::Mechanize->new; $mech->get('http://www.nytimes.com');
Hi Folks
GraphViz V 2.11 adds support for vdx (Visio) output, provided you've patched the underlying Graphviz code first. The patch is presumably downloadable from the Graphviz site. I run Debian so I did not test it, but the user who requested this patch assures me it works perfectly.
GraphViz2 V 2.04 requires Perl V 5.14.2 for utf8 support. Also, the code handling subgraphs was incomplete, and a small but significant set of patches there should now support all expectations for subgraphs.
Sample output for all demo programs. Search that page for 'rank.sub.graph' to see the new demos' output.
There has been quite a lot of discussion on p5p about subroutine signatures, so I figured I'd lay out my current vision here with as much details as I can. As more of this gets hashed out on p5p, I expect I'll add notes at the bottom (can I do that?) pointing to a blog entry for Subroutine Signatures - my Plan (v.2), etc.
All of this is what I'm working on, but I don't have a commit bit, so it's not going anywhere without getting thoroughly vetted and blessed first.
I'm posting my code at http://github.com/PeterMartini/perl, in the peter/signatures branch (meant to be kept in tandem with doy/subroutine-signatures).
GOAL:
Part 1:
In the scope of use feature "signatures" (or whatever)
sub foo($bar,$baz) {}
equivalent to sub foo { my ($bar, $baz) = @_; }
sub foo($bar,@baz) {}
equivalent to sub foo { my ($bar, @baz) = @_;}
sub foo($bar,%baz) {}
equivalent to sub foo { my ($bar, %baz) = @_;}
Part 2:
cross-posted from dams blog
( french version below )
The next Paris.pm technical meeting will happen the 25th september 2012, with:
Location : 181 avenue Daumesnil, 75012 Paris, France
Google map : google map
If you are interested, and live in Paris, please join us ! If you need more info, ask in the comments.
La prochaine réunion technique de Paris.pm se tiendra mardi 25 septembre 2012, et le programme est :
Adresse : 181 avenue Daumesnil, 75012 Paris
Google map : google map
Si vous êtes intéressé, n'hésitez pas à venir, entrée libre et gratuite. Pour plus d'info, demandez dans les commentaires.
dams.
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.