I was curious when various Perl variables showed up, so I started diving through perlvar and perl*delta. Ignoring those that were already there in Perl 4, I have so a draft list. It's a bit dodgy because some of the variables existed before they were documented, but I'm really interested in the point where they became supported variables (so, I also don't care about blead versions):
Does anyone have any corrections or predictions for 5.14? :)
As some of you may know, I have been involved in a project at the University of Edinburgh’s School of Informatics. This project has attempted to solve the problem of curated databases. These databases are used mainly in the biological sciences and are very expensive due to the fact that you need experts to enter the data.
How do I fit into this? Well, I got on the project because I have friends in the Celtic Studies department who study and research placenames in Scotland. Now, placenames have much in the way of solid data about them. For instance, Ordinance Servey Northing and Eastings, height from sea level, etc. This data would nicely fit into a database and I know that you are thinking GIS but that is not really what this is about. It is not the strict data about a placename that is important. What is important about a placename is the scholarly discussion and research that surrounds it. This kind of knowledge cannot be easily captured in a user-friendly way.
It is a DBIx::Class component that automatically creates predicates for relationship accessors in a result class. By default, it builds "has_${rel_accessor_name}" methods and injects into the class. You can define the name for each one (or also disable its creation using undef as value) by setting 'predicate' key in the relationship's attributes hashref.
Provide build/test environment for modules bundled with mod_perl like Apache::Reload and Apache::SizeLimit
[Torsten Foertsch]
The CN in server certificates generated by Apache::TestSSLCA will now match the servername passed to t/TEST.
[Joe Orton]
Add check for automated testing environment variable before prompting with EU::MM to quit the test suite. Some automated smoke tests were failed because the EU::MM prompt was timing out.
[Adam Prime, Fred Moyer]
I'm overhauling the perlbook documentation and moving the book list from perlfaq2 into it. Besides updating the references, I'd like to include a short section on non-Perl (technical) books that are useful to the Perl programmer. So far I have Jon Bentley's Programming Pearls, but that's an easy one.
What else is there? What other books do you think Perlers should read to help them be better Perl programmers?
Just to head off all the posts I know are coming, Lord of the Rings might help you understand the perl source code, but it's not going in perlbook.
My apologies for the late release announcement. Typically once the release has been done I then get on with the real work of stringing together enough words and sentences to convey the great work done by the volunteers within the Padre project.
However this time I've been a bit distracted with the closing down of vox.com and finding a new location for announcing Padre releases.
It makes sense that since Padre is an IDE written in Perl, that blogs. perl.org is where I've come to.
I'm not sure about previous announcements being exportable and imported into the new home, so we'll just have to hope that the history isn't completely lost with the closure of vox.
Release 0.70 is our first release without the "Unstable" tag.
This was going to be a reply to cyocum, but I've promoted it to a full post in its own right.
Given my desire to eliminate Microsoft Word from my life as much as possible, pandoc the round trip markdown to pretty much any other markup format parser written in haskell is of great interest to me. However, I haven't got around to using it with citeproc-hs, the haskell implementation for for the emerging standard Citation Style Language, due to lack of comprehensive enough documentation - and the itch isn't strong enough for me to scratch it yet, and likely won't be for the next eighteen months or so.
Here are two further related itches that are also not going to be scratched by me in the near future:
A round trip arbitrary-markup-formatter in perl like pandoc is for haskell.
While looking into better, easier, more maintainable ways of doing email, I came across Email::MIME::Kit. It thought it was so spiffy I had to tell somebody!
I'm used to doing things the old way, with Net::SMTP and MIME::Entity, which is not pretty, but neither is it difficult. Well, Email::Simple and Email::Sender::Simple make it much prettier and quite a bit easier, too. But great as they are, I am most pleased with another product of the Perl Email Project: Email::MIME::Kit.
This module lets you abstract away all of the dirty internals of email composition, templates, and attachments, and put them in a neatly packaged directory of 'kits'. The various components that work on a kit to produce a well-formed Email::MIME message are Moose classes, which you can extend* or replace using roles. RJBS did a presentation on this back in early 2009, but I missed it somehow. In a nutshell:
At the last (first, actually) Glasgow.pm meeting last week, I mentioned to a couple of the people present an instance in which I've used the wonderful Inline::C module to replace a chunk of Perl code I couldn't quite get to work fast enough.
A project I started back last year is Maisha, a command line client to interface to social micro-blogging networks, such as Twitter. On 31st August this year, Twitter depreciated the Basic Authention method of allowing applications to login users with a simple username and password combination. In its place they now use OAuth. (See also the blog post by Marc Mims - author of Net-Twitter).
On the face of it, OAuth seemed a bit confusing, and even the documentation is devoid of decent diagrams to explain it properly. Once I did get it, it was surprising to discover just how easy the concept and implementation is. For the most part Marc Mims has implemented all the necessary work within Net-Twitter, so Maisha only needed to add the code to provide the right URL for authorisation, and allow the user to enter the PIN# that then allows the application to use the Twitter API.
Someone decided that using `for var qw()` should be forbidden, you have to write explicitly now `for ... (qw())` instead of `qw()` beginning with 5.14. WTF
5.14 seemed to be a fine release for me, the first in a long time which is actually faster then most of the previous ones. And there were not too many languages policists.
But this new qw() deprecation warning is just pure nonsense.
`qw` used in for list where only list-context can be used should still be allowed.
Why should I be forced to update all my code to add `()` around `qw()` only because it seems to be "right". perl has let you use handy shortcuts forever.
I have had an experience which has caused me to reevaluate my relationship with Perl. Members of my local PM have also had to deal with this for the last six months or so. After a post-pub conversation with pozorvlak the other night, I have come the conclusion that while writing large systems in Perl is possible and sometimes even desirable, this is a privilege of showing that you can be disciplined and not a right.
Perl 5, at least, allows you to have many different ways of attacking a programming problem. This can be a benefit but it comes with two large problems. First, if your programmer is not disciplined, Perl is almost guaranteed to give you spaghetti code. Second, if your programmer is inexperienced, Perl will give you something that works but will be unmaintainable by either the programmer themselves or an experienced programmer. Perl does not teach nor require good programming practice.
I wouldn't normally bother to blog about an update to an existing module, but this has an incompatible change.
Previously, if you tried to create a Number::Phone object but didn't have a module installed that knew about the numbering plan of the country that number was in, then the constructor would fail and return undef. This was silly. Now, it returns a minimal object that knows what country the number is in and not a lot else.
This might not seem like a perl blog post. However it is...
Back in the second world war Bletchley Park was the focus of the allied code breaking operations, and the equipment and techniques devised there were the direct ancestors of modern computers and algorithms.
Perl builds on foundations laid at Bletchley.
After the war the role of Bletchley was treated as a state secret, and to the shame of the UK the whole history and site was allowed to crumble; only in the last few years have serious efforts been made to preserve the site and its history, but more work and money is still needed.
So, if you are in the area, why not visit Bletchley.
And, if, like me, you have a good career in computing, why not consider donating something back to the birth place of the modern computer.
At least 100 others have joined me and pledged 1 day's salary to the Bletchley Park Trust - we would love it if you could join us.
You can find more details at http://www.work4bletchley.org.uk or donate at http://www.justgiving.com/workforbletchleypark
In the next days, Kephra 0.4.4 will arrive.
New features are mainly about basics editing. Things that are easier with mouse like selecting word, line (double or triple click) or or selected some content items are now as easy with keyboard as with the mouse. And things that are fast with keys like cut copy paste and find string are now available with simple mouse clicks, without context menu (even if its still there - timtoday) (left click on selection - copy, middle click inserts selection like in emacs, right click while selecting-cut). Most of that I borrowed from Acme. Some little tools where added too. All in all easy to understand things. So what readers may wonder most, is calling it a "testing release" like 0.4.3 two month ago.
On CPAN it was marked as stable because there you have only a 2 way distinction. And testing releases are optimized on stability as dev releases are optimized on freshness. So why introduce a third level release cycle?
As some of you might notice from my old tech blog, I often have problems with my colleagues in the Humanities because they use Word and I use LaTeX. This cause me recently to have a lost day as I had to translate a PDF by hand into Open Office so I could send it in Word to my editor.
In my search to make this process much less arduous, I believe that I have found the panacea: pandoc. I tried it on my XeLaTeX file for my current article and it worked very, very well. It outputs in OpenOffice format and from there, it is easy to translate into Word.
There are two problems (as there always are). First, it does not handle BibTeX at all so you must copy and paste that information by hand from your PDF. Second, it mangled the Greek that I had in the file which means that pandoc does not handle UTF-8 very well at some point in the process of producing the Open Office file. I will need to file a bug report. Other than that, however, I am very impressed
O equinócio é um evento que foi criado pela comunidade Perl Mongers de São Paulo para gerar conteúdo sobre a linguagem em português, o qual é realizado nos meses em que o Sol cruza o plano do equador, publicando um artigo por dia durante o mês.
Em março deste ano aconteceu a primeira edição do evento, e na edição deste mês já foram publicados dez artigos:
This year YAPC::Europe had 245 registered attendees, with 153 of those attendees (amounting to 62%) submitting their responses. Many thanks to the 153 of you who took the time to take the survey, and all those who submitted 1048 evaluations for the speakers. It really is very much appreciated.
I now plan to work through the feedback for the organisers, and prepare the raw data, as well as the raw data for previous surveys. After that I hope to release all the code used to administer the surveys, so that if anyone wishes to use this code for their own purposes they can. However, as the YAPC Conferences Surveys can interface to the Act system, if you are organising a YAPC or Workshop using Act and wish to run surveys, please feel free to ask me to set up an instance for you.
If you have any feedback regarding the surveys, or suggestions for questions, or have any questions regarding the surveys themselves, please feel free to contact me at barbie@cpan.org. For previous surveys please visit the YAPC Conference Surveys website