You might know one of my pet peeves is to get people to
link to the public version control system
of their CPAN modules. Earlier I created a few
, and in the last couple of days I have started to check the most recent modules again.
When I find a module that does not have a link from its META files to its VCS, I try to locate if there is a public VCS at all, if there is one on GitHub, I send a pull request. If I cannot find a public VCS I check with the author if there is one elsewhere or if s/he prefers to keep the VCS private. I am happy to let you know that most people reacted positively to these pull-requests and questions.
Once they merge the pull request I usually mention that the MetaCPAN dashboard lists all of their modules that have no link to VCS (or no entry for license) in their META files.
To give away the game before starting, I would like to say that this
book would be an excellent addition to the library of anyone who has
an interest in the pre-history of Ireland. While it is not my area of
expertise, it illuminated much which I had already gleaned from the
writings of others; however, this was done in a highly engaging and
effective way. One of the main advantages of this book is the way in
which the key points are gathered at the end of each chapter which
reminds the reader of all the foregoing material. This would easily
make this a book which should appear in any Celtic Studies course.
The additional factor which makes this book even more valuable is the
easy style and humour of one who has an absolute command of the
primary and secondary material. However, this is not a book without
its flaws which will be discussed anon.
I learned a new thing today, or remembered a forgotten one. I can use tell to affect the file handle that
It all started very simply. I was going too far in my answer to How do I add the elements of a file to a second one as columns using Perl?, a question I found by looking for the most down voted open questions without an accepted answer. As usual, I thought the answer would be easy. And, for the most part it was.
Then I wanted to make it even easier. I thought Perl might not be necessary at all when we have things like
tail and other command-line thingys. The problem was a header in one input file and no corresponding header in the other. How could I make
paste ignore the header?
Performance and memory use are two areas of concern for many libraries.
Last December I made a number of changes in my Math::Prime::Util module
to reduce memory use, and bulk88 helped really tweak some of the XS.
I thought I'd pick a simple task and look at the speed and memory use
of a number of solutions.
isprime from 1 to 10 million
|Memory ||Time ||Solution |
|2096k ||72.6s ||Perl trial division mod 6 |
|2100k ||124.8s ||Perl trial division |
|3652k ||36.2s ||Math::GMP |
|3940k ||14.8s ||Math::GMPz |
|4040k ||1.9s ||Math::Prime::Util (no GMP backend) |
|4388k ||1.9s ||Math::Prime::Util (with GMP backend) |
|4568k ||1.4s ||Math::Prime::Util (GMP + precalc) |
|4888k ||4.4s ||Math::Prime::XS |
|5316k ||245.1s ||Math::Primality |
|5492k ||29.8s ||Math::Pari |
|6260k ||1.5s ||Math::Prime::FastSieve |
|~16MB ||>1 year ||regex |
rakudobrew is similar to perlbrew, but it's for Rakudo (a.k.a., Perl 6), the Perl-inspired language that we've all come to have a love/hate relationship with. I urge you to try it out, but first, some interesting new developments that you should probably know about.
After having read yet another tutorial about CPAN::Mini, I once again had the same thoughts:
- CPAN::Mini is so cool
- Imagine the use together with CPAN::Mini::Inject and Stratopan!
- Damn, a configuration file. Where to put it? How do I find it again a month later when I forgot about my minicpan setup? Putting it just somewhere is like undocumented source code. And Windows + configuration files?? WTF!
- Why can't it just be one of those nifty nice-looking applications like the Github for Windows - simple, easy to use, beautiful? With installers and start menu entries?
This time, I tried to change it. Having thought about it every time I read a post about CPAN::Mini, I was prepared a bit. I planned a feature set that could be completed eventually some day in the future. The result is a working GUI where CPAN::Mini can be configured and executed.
Have a look:
If you're looking for a configuration file format, you might want to try IOD (short for "INI on drugs"). IOD is basically INI, with more precise specification and some extra features. If you are not using any of the extra features, you're practically using the good ol' INI format.
IOD tries to capitalize on the INI's popularity and simple syntax, and on top of that tries to define more precisely the format and to add some features that makes it more convenient and powerful to use.
Format is more precise. Because there is no single, official specification for INI, variants emerge and they support different set of features with different behaviors and incompatible syntax. IOD tries to define things more precisely, for example:
Loved YAPC::EU::2014? Hated it? Perhaps the conference would have been perfect if only we'd done X? What was your favourite talk? Could some talks have been improved?
You should have received an email from Barbie with an invitation to complete the YAPC::Europe 2014 Survey:
As an attendee of YAPC::Europe 2014, we would like to invite you to participate in the online conference surveys. Whether you are an attendee, speaker or sponsor, we would like to get your feedback regarding any talks and tutorials you attend, as well as the conference itself, with the aim of helping to improve the conference experience for future attendees.
Please shout at the organisers or email barbie[at]missbarbell.co.uk if you have any problems completing this, or did not receive an email with your keycode!