Sometimes when working with the lovely MooseX::Role::Loggable you might encounter the following fatal error:
no ident specified when using Log::Dispatchouli at Loggable.pm line 117.
I keep running into this and resolving this each time without remembering what this means, so I keep having to debug it all over again. While I've documented this issue in the new version of MooseX::Role::Loggable, I'd like to explain it here as well.
I've released GraphViz2::Marpa::PathUtils V 1.01, which now offers an algorithm that performs auto-detection of clusters in Graphviz *.gv files, via the find_clusters() method.
The most complex input file I tested ran foul of a bug in Graphviz itself, which I've reported. I am using Graphviz V 2.26.3, and the bug has been kindly confirmed by Ryan Schimdt in 2.28.0 and 2.29.20121022.0445 on OS X. So, that image is not yet on the demo page.
Note: An option in the code allows outputting the resultant *.gv file, hence making it available for further processing, and the format of the (optional) output image (svg, png, ...) is also an option (which is passed to 'dot').
Note: Nodes and edges using ports are not yet supported.
Thanx to Ron Newman (on the Graphviz mailing list) for the suggestion to implement this (despite the complexity of the code I had to write :-).
Lastly, the previous algorithm in the module (in V 1.00), accessed via the find_fixed_length_paths() method, finds all paths of a given length starting from a given node. Demo output is included in the above URL.
Following the recent work (chronicled here) by Yanick Champoux and this StackOverflow question, I got it into my mind to try to write a Module::Build subclass which first removes all the files previously installed by a module before installing the new version. In those posts, this is motivated by File::ShareDir concerns, but this problem is more general than that.
If your new version of a module does not come with some file that a previous version did, installing the new version will not remove that file. Most of the time this is ok, but every now and again you need to know that those files don’t exist. That’s usually when you see warnings in the POD saying, “be sure to remove all previous installations …” or “only install on a fresh copy of Perl”. The author knows that a problem is possible, but the user has to fix it. Sounds bad.
I have an xls containing (Sr. Name Address Remarks etc) & a folder containing pictures with the same Name as in xls Name.
Now I want to convert desired data from excel & snaps/images from folder to a Word .doc file which has a format (Sr. Name Address Remarks etc & a portion for placing snaps/images.
Is there any SCRIPT or Software which runs & creates .Doc file.
I wanted to title this post: The Tree::Hugger Chronicles: Tree, etc, but that was too long.
Anyway, I mention Forest only to say I won't mention it further.
I've become co-maint (or accidentally, owner) of various Tree-ish modules, so I thought I mention what's up. Each module is followed by an extract from the CHANGES file.
o Tree: I've just released V 1.03:
- Rename Tree::Binary to Tree::Binary2 so it no longer clashes with the Tree::Binary shipped in the Tree-Binary distro. MetaCPAN was getting confused, and automatically redirected links from this module's Tree:Binary to the other one.
A few weeks ago, I pondered a service for hosting private CPAN repositories in the cloud. The idea was well received, so I pulled together a prototype. The result is here:
Be aware that this site is not secure nor reliable, but I think it demonstrates the concept pretty well. Most of the links on the landing page go nowhere. Just click the big "Sign Up Now" button and you'll be on your way. If you like what you see, let me know.
Another way to look at whether you should add information as an attribute or a child element while designing an XML schema element is whether you are talking about an IS-A or a HAS-A relationship.
Attributes are great for IS-A relationships -- "I am an element with ID='20121101-i1' or "I am an element for the Dublin Core (METS MDTYPE='DC')".
Child elements are great for HAS-A relationships -- "I have several groups of files" or "I have binary and XML data for a file".
Using
Marpa's facilities for error reporting,
a quickly written domain-specific language can,
as of its first draft,
have error reporting whose helpfulness and precision exceeds
that of carefully hand-crafted production compilers.
This post will show how, with an example.
Two techniques will be used.
First and most basic,
Marpa's knowledge of the point
at which the parse
can no longer proceed is 100% accurate and immediate.
This is not the case with yacc-derived parsers,
and is not the case with most recursive descent parsers.
A. In the Perl world, it's a meeting, generally of one day's or a weekend's length, where Perl hackers come together in one physical location (primarily) to work collectively on projects which will improve Perl, CPAN and the Perl ecosystem.
Q. What is a "distributed" hackathon? Is it something like a "distributed" source code control system?
A. In a way. A distributed hackathon, like a distributed source code control system, is designed from the outset to be clonable. In the Perl community, we've had many hackathons over the past eight years, but they generally haven't been planned to be clonable, i.e., easily reproducible in different locations at later points in time. They've been planned as events in one geographic location that when they're over, they're over. They aren't intended to be reproduced elsewhere.
Q. What would it mean for a hackathon to be "clonable"?
Neither I nor Sean Burke can get a response from David, bit if anyone knows him, please let him know I'd like to take co-maint of Tree::DAG_Node in order to fix bugs.
So, I'll ask the CPAN admins on Friday to do that if I don't hear from him beforehand.
If he doesn't want me to be co-maint, I'll fork the code...
This month's presentation was on the Git::Repository Perl module, given by me. In both my jobs, I use the Git::Repository module to automate releases.
At Double Cluepon, I use it to create the release packages based on tagged commits, so that releasing our software is exactly: git tag vX.X.X && git push --tags. A Perl script builds every package and then pushes them to our update server, where the game will check for a new release.
At Bank of America, we use it to combine our 20-30 Perl distributions into a single release. Using git submodules, we have a "release repository" that holds references to all the modules for each team's releases (some are team-specific, others are shared between teams). A Perl script manages the submodules, determines when the submodule refs need to be updated, tags and branches for each release, and finally builds and installs our modules using Module::Build and local::lib.
All this Git stuff gave me some ideas for possible useful code I can release, perhaps leading to me finally recovering my CPAN ID.
I hope you expect that we announce the date and place of the next YAPC::Europe in Kiev, but please be patient a little bit more. Next week Viacheslav visits a venue where a PyCon was held and after that we select the venue. It is a difficult choice as we don't have now exact budget and the venue rent cost strongly varies. It would be much easier to decide after the attendees pay :-)
Anyway, let's talk today about eating during and around the conference. There are four different type of food supply we have to organise.
1) Pre-conference meeting;
2) Coffee breaks during the conference days;
3) Lunches;
4) Attendees dinner.
Food at a pre-confernece meeting is simple. We invite everybody and depending on the level of sponsorship we get we offer either nothing, or beer, or beer and snacks. It is also possible for any company to become a Pre-conference meeting sponsor right now.
Over a year ago I was tasked with creating a data warehouse for sports data. Having known absolutely nothing about data warehousing/ETL, my first sport ended up quite the mess; scrapers would extract and transform at the same time then stuff it into a database where it most likely needed additional transformations. At the time, additional transformations meant writing a script to iterate over every row and change whatever column to whatever regex I had constructed. Sometime later after i'd have generated a report i'd find something wrong, often missing data due to a bad transform regex, which meant re-scraping websites (and often times purchasing another membership).
The YAPC Europe Foundation (YEF) has created a dedicated Organizers Mailing List. The purpose is to share relevant information between organizers of Perl workshops, conferences and hackathons, in Europe, such that we can all benefit from each others rapidly accumulating knowledge. Here's the link:
By letting everyone else know where, what and when, an event is going to take place, and sharing our intentions, this might help to avoid the unfortunate case where two events happen at the same time, as well as helping to spread Perl events sensibly over the year. The list is intended as a one-stop shop for anyone interested to participate in helping to propose, ask for help, and to organize, all Perl-related events in the European sphere. Discussions have already started. Please join and help us to promote local, as well as nation-wide, events for the benefit of the larger Perl community in Europe.