Apparently the receipt that dorm dwellers receive from the University doesn’t tell them they need to go to Chadbourne Hall. So I wanted to announce it far and wide in case anybody else gets hung up by that.
Chadbourne Hall
420 N. Park Street Madison, WI 53706-1489 Chadbourne Desk: (608) 262-2688
Stevan Little will give a talk at YAPC::Europe 2012 described as
This talk will explore the current proposal for adding a new object system to the Perl 5 core. We will discuss the syntax and semantics as well as the underlying MOP (Meta Object Protocol) that the system will be built upon. We will also explore what that would mean for the future of Perl 5 as a language and how it will retain the connection to the past.
CPANdeps has for ages had links to each distribution's bug tracker. Trouble is, it always just linked to rt.cpan. Lots of people don't use that any more, preferring to, for example, use the one that github creates for each repository hosted there. META.yml (and META.json) have links to those.
Ben Bullock provided a patch to extract the info from the META files, and I applied it a few moments ago. There are quite a few different ways it can be specified, and in some places META.yml and META.json files have different data structures, so we may have missed a few. Please submit a bug report if you find any module whose bug tracker I'm not correctly linking to.
It's only been a couple of months since I've been using Moose, but it is already changing the way I read code. Of course, it changed the way I write code in a very short time, but I was surprised when I realized that it also changes the way I smell code.
Things that seemed normal last year, now are a code smell to me. Whenever I see an object being constructed inside a method whose name doesn't start with '_build_', I wonder if something bad is going on. Even method calls with parameters are now becoming a code smell. Whenever I smell that smell, I ask myself "should this be an attribute?".
And that's a pretty good thing. I never found testing my code easier. "Dependency injection" is harder to spell out than it is to just do it. And I find myself being able to understand my own code a couple of weeks later.
You probably know that Wisconsin is the Badger State due to our University Athletics mascot, Bucky Badger. However, you may not know why it is called the Badger State. Believe it or not, we have very few badgers in the state. Wisconsin is called the Badger State because in the early days mining was the largest industry here, and the miners were called “badgers” because they burrowed into the ground like their animal namesake. In the harsh Wisconsin winters the miners would actually live in the mines to escape the cold.
Meanwhile, I think this shows the importance for us event organizers to take professional photographs. This is the kind of place you want to use them pictures! They are well worth the $$ you pay. I suggest you definitely look into hiring someone for your next Perl event!
YAPC::Asia Tokyo 2012 is on Sep 27, 28, and 29! Tickets will be available soon!
Chef is a systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
I have created cpan cookbook to install cpan modules with chef. It's easy in use, because all the implimenation is hidden providing you simple interface:
cpan_client 'CGI' do
action 'install'
install_type 'cpan_module'
user 'root'
group 'root'
end
Among cpan_client features are:
installing in dry-run mode
installing with given install_base and install_path
Andrew Johnson will be giving a talk at YAPC::NA 2012 described as:
Helios is a distributed job processing system that allows users to write applications to spread workloads across multiple processes and servers. The Helios job queuing, configuration, and logging APIs aim to provide a user with an environment to easily write applications that scale across multiple processes and hosts. My talk will focus on Helios basic concepts and features (especially new features introduced in the new 2.4x series) with a particular interest in how to write simple Helios applications. I will also cover best practices for getting the best performance out of the Helios environment.
Gabor Szabo will give a talk at YAPC::Europe 2012 described as
Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior". It is needed to ensure your code remains readable while growing in size and scope.
It is needed if you have some old code base that needs improvement and after every period of intense development when you "did not have the time to properly design your code".
There are several patterns in refactoring, some of them you might already practice without knowing the name.
The most obvious is when you use a variable $x and suddenly you realize it could have a more descriptive name.
If you change all the occurances of $x to this better name, without changing anything else in the code, that's already refactoring.
I've just uploaded to CPAN V 1.00 of Benchmark::Featureset::SetOps.
Here's the rationale (from the FAQ):
I maintain (but did not write) Set::Array. I have never really liked its interface, so when I started a home-grown script that Kim Ryan (author of Locale::SubCountry) and I use to compare his module with my WWW::Scraper::Wikipedia::ISO3166, I wondered if there was some module more to my liking. Hence the search for alternatives. Then I realized my work could benefit the Perl community if I formalized the results of this search.
Also, I have 7 modules on CPAN which use Set::Array, so I wanted a good idea of the array/set modules before I decided to switch.
But, more importantly, to protect your delicate sensibilites from the code, you can just view the HTML report here.
The new release upgrades SQLite from 3.7.9 to 3.7.12 and the upgrade of DBD::SQLite is in line with SQLite upgrade recommendations, and also driven by the move of Firefox to a newer file format than currently supported.
The new release contains a few changes that may cause trouble for your application and you should test, the biggest is the change in the default file format from version 1 to version 4 that landed in 3.7.10.
This means that SQLite files produced by DBD::SQLite will no longer be readable by older versions of SQLite unless you explicitly enable PRAGMA legacy_file_format=ON.
Matt Trout (mst) will give a talk at YAPC::NA 2012 described as:
A tale of systems introspection, service inference and parallel computing - how we used the Tak systems automation framework to help track a customer’s infrastructure.
I know that this is a Perl blog, so I will just post a quick link to my other blog. If you are writing any LaTeX, you should look at TeXlipse; look again if you have already tried it in the past. Read more on my other blog.
I will not be using my badge to the conference. Is there a place where I can put this in a 'needs' pot? To be used by someone who can make the conference, thanks.
An interesting query was recently posted to the internal Perl mail list at work. The questioner was trying to match a pattern repeatedly, capturing all of the results in an array. But, it wasn't doing quite what he expected. The message, with minor edits, went a little something like the following.
Mojolicious is already well known for its web framework, but I am finding more and more (after being told by our own brian d foy) that its DOM parser (Mojo::DOM) is worth the price of admission as well. Anyway today I was poking around StackOverflow and I ended up answering a question using nothing more than some well crafted DOM calls. Here is my (slightly reworded) response. It makes for a nice example of using simple CSS3 selectors to simplify HTML parsing.
The question goes something like this: Lets say we have some HTML which contains the times that a shop is open. How can we get this information in a HTML5/CSS3 (i.e. modern) way? Mojo::DOM.
Important Update! (20 May, 2012) There was a problem with the old building (where we usually meet). There are no available rooms there at all.
As a result we're assigned to room 2205 in the new building (Mitchell building).
The entrance is through Yeda Am street, on the corner with HaMelakha street.
(The Hebrew text will be followed by an English one).