CPAN Day - 16th August!
Celebrate the inauguration of CPAN on the 16th August by doing something related to CPAN: release something, blog about your favourite module, or email its author thanking her or him.
Celebrate the inauguration of CPAN on the 16th August by doing something related to CPAN: release something, blog about your favourite module, or email its author thanking her or him.
A long time ago, when I started building my first video game server for Double Cluepon, my video game company, I did a bad thing. I looked at the AMF library for Perl and Python and decided that Python's looked better. I had always meant to learn Python, and this felt like the perfect opportunity. It had cooperative multitasking (Twisted) and it had an ORM (SQLAlchemy), so along with the messaging format (PyAMF), I had everything I needed to build a server for a Flash MMO (later migrated to AIR).
Let me reiterate my mistake: While under time constraints, I chose to learn a new programming language. I didn't realize my mistake until it was too late.
As YAPC::EU draws closer, here are some ways to stay informed about the latest news and views about the conference, talks, venue, and city:
A long-time user of Data::Dumper, here. I have seen several talks about using Data::Printer in cases when you want the output to be readable by humans, not machines. I've always meant to eventually get around to checking it out. Today was that day.
I had a huge data structure at work, nested many layers deep and full of repetition with slight variances. My job was to find out what was wrong with it. After looking at the Dumper output for about 10 minutes, I became aware that I had actually stopped looking at the Dumper output a few minutes prior and my mind had wandered somewhere else (squirrel!) So, I decided to see if Data::Printer made the job any easier.
(This blog post will serve as a document that I point to for people to read when I suggest people renaming their third-party-API modules [although not necessarily always from Net:: to WWW:: or WebService::]. I'm currently on a Questhub quest that does exactly this.)
Perl being a glue language, people write many modules to connect to third-party API services. These days, most public API services are web-based. What namespace should you pick for your module?
A lot of people still use Net:: as a namespace. For example: Net::GitHub, Net::Amazon::Glacier, Net::Backpack.
This namespace is not recommended by PAUSE module naming guideline because it's supposed to be used for modules that implement various network protocols, e.g. Net::DBus, Net::Ping, Net::DNS.
We have received two proposals for this round. Take a look and give them feedback. Your input is important for us to determine how to use the community money.
If you have a grant idea but missed this round, you can still submit a proposal now. We will review them in the Septermber round.
We're very happy to announce a fantastic selection of talks: Perl in industry and the media, web frameworks new and old, new syntax, the Perl job market, and of course, the latest on Perl 6!
http://act.yapc.eu/ye2014/talks
If you are now kicking yourself for not submitting a talk, fear not AND SUBMIT!
We are juggling the schedule at http://act.yapc.eu/ye2014/wiki?node=Schedule and will release the timetable over the next weeks. We will do our best to squeeze in some more speakers, and having extra talks really helps us plan!
If you have submitted talks, you should have received an email from us listing which ones have been accepted. Please confirm that you will give the talk as soon as possible!
YAPC::EU is taking place from Friday, August 22nd till Sunday, August 24th in Sofia, the capital of Bulgaria.
We managed to get Peter Rabbitson also known as ribasushi as guest speaker for our conference in October.
Peter is very famous for being the master mind and release manager for DBIx::Class, the most popular ORM in the Perl world. He also plays an important role in the Perl community and goes long ways to help people.
Getting experts to the conference isn't possible without sponsors, please check if you can support us. Every contribution will be helpful, please checkout our sponsoring page and/or contact me by email.
Please note that amount of tickets for the conference are limited, better register now and save money with early bird prices!
If you want to hear about a specific subject from Peter, please let us know and we will pass your suggestion on to him.
Enjoy
Racke
Some months ago i wrote how to (ab)use your database as a messagequeue in order to distribute tasks among worker-processes.
"From your code, it also looks like having more than one demon will put you at risk of processing the same jobs more than once." (Jerome Eteve)
"Abuse" is the right word. The moment you hit more than three concurrent jobs, you will see a nasty slowdown ..." (rob.kinyon)
The comments made pretty clear that this was not a good idea and I promised to clean up. (Note: it worked pretty well but only as long as you didnt upscale the system)
Here we go!
I decided to go with ZeroMQ as a messagequeue and ZMQx::Class + AnyEvent.
Processing tasks takes some time in my project (5 seconds up to 20 minutes) and are of varying priority. So I cannot have some low priority task delay incoming high priority tasks.
OK, so I'm working on a project and some unexpected bug crops up. It turns out to be a bug in a dependency. I could work around it, but...
I happen to maintain the dependency, so better to fix it at source. Done. Let's set up Travis testing for this dependency too...
Oh no, build fails. Test::Modern won't install on all the versions of Perl I'd hoped it would. (In particular, Perl 5.6.) Why? Turns out some of Test::Modern's dependencies use Module::Build and Module::Build::Tiny, and they require Perl 5.8.
So let's try out Ingy's Alt concept and release alternative distributions of these dependencies which will install cleanly on Perl 5.6. Hence Alt::Test::Warnings::ButEUMM (which led to this) and Alt::Module::Runtime::ButEUMM.
Today I contributed to Scott Walters’ Kickstarter project. You may have read Scott’s own blog posts on the topic. Executive precis: for $10,000, Scott will complete work on the latest version of WebGUI, a world-class CMS written in Perl.
I’ll freely admit that I didn’t contribute that much, mainly on account of me not being rich. As I’m fond of pointing out here, I’m just a regular Joe working-class programmer. But, at the same time, Perl has been very good to me throughout the years, and I’m not averse to giving a little back when I can. And, as it happens, right now I can.
I wrote this article almost a year ago as part of an omnibus reply to a bunch of different posts from a perl5-porters thread. I never finished all parts of the reply and thus never sent this part either, but in contrast to the other parts of this stillborn mail, I think this one is worth reading. So asked Johan Vromans:
It still escapes me why
@*
was chosen instead of the much more logical[]
:$h{a}[0]->[]
The reason is that there are a number of problems to solve with any new deref syntax:
Hopefully by now you have seen that Mojolicious is a great way to build your non-blocking web (or even non-web) application. Mojolicious come with all kinds of non-blocking functionality out of the box. For more about that see my blog series on the topic. This post is an aside to show you the cool things happening in Mojolicious lately designed to make writing non-blocking apps easier.
Mojolicious is known for fast development and clean APIs. Mojo was that child with lots of excitement and energy, doing new and cool things, providing new and cool functionality, and yes, changing its mind on occasion. But Mojo is growing up and settling down a little bit. It recently went to its first conference and professional training. And it’s starting a family too!
Mojo is starting to feel more grown up, and grown-ups have responsibilities. To borrow one of Perl’s catch phrases, this more mature Mojo knows that it is not good enough anymore to just make things possible, it’s time to make them easy.
Just a few hours ago Dan Wright mentioned that the Perl 5 Core Maintenance Fund of the The Perl Foundation needs donations. (In addition Makoto Nozaki just mentioned that the budget of the grants committee is only $16,000 for 2014.) Let me offer part of my work as a donation. The deal is that if you organize a Perl Training that I teach, I'll transfer half of the profit to The Perl Foundation. I think it is a 5 x win situation.
These are all 4-5 days long courses filled with hands-on exercises.
If you'd like to hear more details, please send me an e-mail to gabor@szabgab.com.
I've pushed Type::Tiny 0.045_03 to CPAN this afternoon. Initial results from CPAN testers seem promising, but if you've got a distribution that uses Type::Tiny it might be worth trying it out with the new version to see if anything breaks. (I don't think anything should!)
The big change in this release is that it adds support for an optional XS backend, which massively boosts the speed of many type constraint checks — especially parameterized types like ArrayRef[InstanceOf["HTTP::Response"]]
. The XS backend is a fork of Mouse's type constraints, and needs to be installed separately. It's called Type::Tiny::XS. (OK; not a very creative name.)
Quite often companies who use Catalyst (with Template Toolkit) find that after a while, they're over relying on the use of the stash as a global dumping ground. To deal with that, I wrote a highly experimental module to print out unused template variables.
I'm running Debian Stable (7.x, Wheezy, 7.4 to be exact) on amd64.
Count all Debian packages by their implementation language (I know, not the most efficient way):
The Perl 5 Core Maintenance Fund was initially announce at YAPC::NA in 2011. Since then, it has been TPF's most successful grant program, awarding over $260,000 in grants for continued development and debugging of the Perl 5 core.
Unfortunately, most of the funds have now been depleted. Our four present grantees, Tony Cook, Paul Johnson, Dave Mitchell, and Jess Robinson are each running on allocations that have between 3 and 6 months remaining. Without further contributions to the fund, there will not be enough money to renew their grants.
If you value the work that these people are doing for the Perl 5 Core, please consider making a contribution to the P5CMF by visiting donate.perlfoundation.org soon.
I'm happy to announce that, as usual, Nestoria will be sponsoring this year's YAPC::EU in Sofia, Bulgaria.
Also as usual we will be sending along a contingent from our dev team. Other than myself you'll also see Sam, Ignacio and Tim - all of whom have never attended a YAPC before and some of whom have learned Perl quite recently. I'm hoping they are going to get as much out of YAPC as I did at my first one back in 2007.
You can read more - and see some photos so you'll know who to say Hi to - on the Nestoria Dev Blog: http://devblog.nestoria.com/post/91342766838/yet-another-yapc-eu.
Hope to see you there!
P.S. Although I'm not speaking at YAPC::EU this year, I am speaking about Test::Kit 2.0 at the London.pm technical meeting on Thursday July 24th :-)
In a bit less than two months the second Swiss Perl Workshop takes place.
Lots of cool things are going to happen!
Register soon to secure one of the limited tickets.
Book your seat at the courses by brian d foy.
To make waiting for the workshop easier, and to get in touch with fellow Swiss Perl Mongers, come to our Swiss Perl Community Meetups. The next event happens on July 24 in Zürich. You will know us by at least one small puppet camel on the table.
Last time we "meetupped" in Olten, the workshop venue. Look at the view we had:
Thanks to our sponsors:
www.leanux.ch | www.perl-academy.de | www.oetiker.ch
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.