Dezi::App completes Doozi release

The final dependency for Dezi has been released as Dezi::App on CPAN. In addition Search::OpenSearch::Engine::Lucy 0.400 has been released which supports Dezi::App.

Read more about it on the Dezi site.

Easily add tab completion feature to your CLI program using Getopt::Long::Complete

There are several modules to help you create command-line program with tab completion feature, including Getopt::Complete and Perinci::CmdLine (and its new lightweight alternative Perinci::CmdLine::Lite. Now here's another one. Introducing Getopt::Long::Complete.

This module is a drop-in replacement for the venerable Getopt::Long. Most of the time, you should be able to take your existing script which uses Getopt::Long, replace the use statement use Getopt::Long; with use Getopt::Long::Complete and suddenly your script supports tab completion.

For more details, see the module's POD.

One Month To Go!

There’s only one month left until YAPC::Europe 2014. The conference takes place on the 22nd - 24th of August in Sofia, Bulgaria.

We’ve done our best to keep the cost of the conference low and if you still haven’t bought a ticket - don’t delay, buy it today!

  • Regular price 99 EUR
  • Student price 60 EUR
  • Business price 500 EUR

Bulgaria, Romania, Macedonia, Serbia and Baltic states(proof of citizenship is required)

  • Regular price 60 EUR
  • Student price 35 EUR (student card is required)

Once you’ve bought your ticket remember to take a look at the scheduled talks and “star” the ones you’re planning on attending. The finalised schedule will be ready by the 1st August.

Looking forward to seeing you in Sofia!

A quick and very dirty pastebot.

I started a new job. One that requires me to leave the house on a regular basis. And talk to people in the day time, in person. In fact I'm finding it not much different to normal. It seems that instant message is the first line of communication, and people will come and talk to you if you have mutual cycles available at the time. Plus there's a contingent of remote staff, so IM is still important.

When you have IM communication between programmers, you need a pastebin as well. The new guys are using bitbucket that doesn't have that facility, and I wasn't happy with suggesting using a public pastebot. So here's something that does the job. I don't think it's ideal but it achieves 90% of the job in a tiny amount of time.

How to create an installable web application with config/data/bin stuff?

I'm writing a Dancer2 web application which contains configuration (config.yml, development.yml, production.yml, and-so-on.xml), application data (js, css, templates) and application binary (Perl bootstrapper, Perl tools) parts.

Usualy a web distribution is installed via extracting a ZIP file and there you have your e.g. /public, /environments, /lib and /bin. You start your web application with perl ./bin/ or similar.

What I currently think about is to actual install a Dancer2 web application like normal (linux/unix) applications would do. So /public would end up at /usr/share/mydist/public, /views would be /usr/share/mydist/views, /environments including /config.yml are located at /etc/mydist/environments and /etc/mydist/config.yml. /logs moved to /var/log/mydist and /lib is system wide installed like you install a normal dist with cpan. Scripts in /bin would "installed" to /usr/bin

Assuming I use Dist::Zilla to create dists how could I achieve this?

I remember there was a previous discussion about installing web application with CPAN but I can't find it anymore. Neither - IIRC - was the discussion concluded.

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.

Between Learning and Doing


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.

Communication Channels

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:

  • all major news items will be announced here
  • we are tweeting as @yapceu
  • all news items will be posted on the front page of our main website
  • all registered attendees should shortly be added to a mailing list for important announcements
  • you can see what other attendees are discussing and join in on our wiki
  • ... and if you still can't find the information you need, then Contact us!

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.