Perl 10
This is my take on the version debate. Bear in mind that I’m not a p5p nor a Perl 6 developer, so I don’t get a vote. I can still have an opinion though… Perl 6 represents the future of…
This is my take on the version debate. Bear in mind that I’m not a p5p nor a Perl 6 developer, so I don’t get a vote. I can still have an opinion though… Perl 6 represents the future of…
I recently blogged about Ask, my new(ish) module for interacting with users via STDIN/STDOUT, a GUI, or whatever means possible. Writing GUI code in Perl unfortunately requires you to compile non-core modules such as Gtk2, Wx or Tk. There is…
In many scripts, we need to prompt the end user for information – this could be a prompt for a file name, a selection from a list of options, or an answer to a yes/no question. The traditional approach to…
According to metacpan.org, MooX-ClassAttribute-0.001 was the first upload of 2013! Yay!…
OK, so I decided to hack in support for submitting CPAN testers reports into cpanminus. I’ve uploaded the result to CPAN in case anybody else wants to use it. After CPANPLUS and cpanminus, the logical name for it was cpantimes….
OK, Moo is actually a rather nice little OO framework. It's inspired by Moose but not a clone of it. When Moo detects Moose has been loaded, it "inflates" all Moo classes and roles into Moose classes and roles, so…
In A Simple Mojolicious/DBI Example Joel Berger demonstrates how to build a very simple CRUD web app (well, a CR one anyway) using Mojolicious and DBI. I was impressed at how concise it was, and wondered how my preferred technology…
CPAN Ratings has had a face lift….
Perl modules are not like dynamically loaded libraries in other programming languages. Thanks to the import function, sub prototypes, symbol table hacking, parser hooks, magic like Devel-Declare, ties and other voodoo, Perl modules can shape and craft the flavour of…
OK, so another MTMH 2012 blog post. I'm trailing far behind everyone else, but better late than never. MTMH 2012 was a joint hackathon between the people working on p5-mop (a project to get a Moose-lite metaobject system into the…
Tomorrow morning I'll be needing to get up in the wee small hours of the morning to travel to the Moving to Moose Hackathon 2012. In the mean time, here's some sugar for the awesome MooseX::Traits… package traits; use MooseX::Role::Parameterized;…
Someone on IRC asked me for an example of how to parse schema.org markup using my "HTML::HTML5::Microdata::Parser":https://metacpan.org/module/HTML::HTML5::Microdata::Parser module. So here one is. It pulls the microdata from the page, and queries it using SPARQL.
Plugin-based architectures can be a bad idea. Not always. In user-facing applications, where the list of installed and enabled plugins is clear, then plugins are often a good thing. This article is concerned not with end-user facing applications, but with…
Plugin-based architectures can be a bad idea. Not always. In user-facing applications, where the list of installed and enabled plugins is clear, then plugins are often a good thing. This article is concerned not with end-user facing applications, but with libraries. Libraries that allow their functionality to be extended through plugins. In particular, libraries that … Continued
How to File a Perfect Bug Report My criteria for a perfect bug report… The report is filed correctly. The issue identified affects the latest version of the software. The report includes a test script illustrating the problem … which…
How to File a Perfect Bug Report My criteria for a perfect bug report… The report is filed correctly. The issue identified affects the latest version of the software. The report includes a test script illustrating the problem … which is self-contained … and is minimal … and conforms to the Test Anything Protocol. The … Continued
Many modern browsers (including recent versions of Firefox and Opera) support the W3C's geolocation API. This is a standardised mechanism for Javascript to ask your browser where it geographically is in the world. Typically the browser will then pop up…
Many modern browsers (including recent versions of Firefox and Opera) support the W3C’s geolocation API. This is a standardised mechanism for Javascript to ask your browser where it geographically is in the world. Typically the browser will then pop up a message asking you if you wish to reveal this information, giving you the opportunity … Continued
Tonight I've released another alpha version of Cognition, my semantic web parser. Changelog includes: Microformats: Add option (disabled by default) to require <head profile> for microformat support. Microformat profiles are treated as opaque strings! Supports the following profiles: http://purl.org/uF/2008/03/ http://www.w3.org/2006/03/hcard or http://purl.org/uF/hCard/1.0/ http://dannyayers.com/microformats/hcalendar-profile or http://purl.org/uF/hCalendar/1.0/ http://purl.org/uF/hAtom/0.1/ http://purl.org/uF/rel-tag/1.0/ http://purl.org/uF/rel-license/1.0/ No profiles required for rel-enclosure, adr or … Continued