Today I noticed that I had a module outdated, named Starman. I have no clue about what it is (ok, now I have), so I typed 'perldoc Starman'. My Mac OS X is not case sensitive (unfortunately). This resulted in the documentation of the command 'starman' to be shown. The man page says "see also, Starman".
Now, the question is... how can I get the documentation for the module, using perldoc?
Since there isn't much I've noticed blogged about the perl interpreter itself, I'll add some notes that could be of interest. In particular, like CPAN Testers, there are some people contributing tests of perl itself albeit with a lower profile and without the snazzy web site. Toward the goal of testing, I made a post to revive the "make test.valgrind" capability perl had:
In the wake of my last blog post, rurban told me Magic was more of a 'last resort', and that everything necessary for making type objects could be done with perl's pack and unpack functions, which precipitated a day or two experimenting and trying to get my head round those. Also fixed up the fundamental Ctypes::_call to return larger types properly on 64bit systems.
We have an open position here at EF Johnson Technologies in Irving, Texas. You have the opportunity to work in a fast-paced, challenging environment with a team of highly motivated, brilliant and geeky people as a part of the Engineering department's Infrastructure team. The opening is for a Senior Software Engineer and requires an in-depth knowledge of Perl. The job has been posted at jobs.perl.org.
Okay, I admit it: Bricolage CMS -- the open-source enterprise-class content management system -- takes a few hours to install. The upside? A well-deserved sense of accomplishment.
Seriously, as someone who works with Bricolage regularly and likes to contribute to the project (when time permits), it's incredibly helpful to be able to have it running locally on my laptop from the latest Github source.
Unfortunately, the Bricolage installation documentation for OS X needs some serious love. There are at least three contradictory resources at the moment: David Wheeler's post "My Adventures with Mac OS X" from 2002 (OS X 10.1), the README.MacOSX that Bricolage comes with, and the "Installing Bricolage on Mac OS X wiki page on Github, which only covers OS X 10.3. Thankfully, Theory (David Wheeler) is easy to find in the #bricolage channel on irc.perl.org and can be cajoled into providing helpful install hints.
All that said, installing Bricolage 2.0 on the current version of OS X -- 10.6.4 "Snow Leopard" -- was actually quite straightforward. So, before diving into updating all of the install documentation, I wanted to capture the basic process here and get some feedback on next steps. If you want to help with feedback, just jump to the Questions section at the end of this post.
The Perl Foundation is looking at giving some grants ranging from $500 to $3000 in August 2010.
In the past, we've supported Adam Kennedy's PPI, Strawberry Perl and Perl on a Stick, Nicholas Clark's work on Perl internals, Jouke Visser's pVoice, Chris Dolan on Perl::Critic and many others (just check http://www.perlfoundation.org/grants for more references).
You don't have to have a large, complex, or lengthy project. You don't even have to be a Perl master or guru. If you have a good idea and the means and ability to accomplish it, we want to hear from you!
Do you have something that could benefit the Perl community but just need that little extra help? Submit a grant proposal by July 31.
As a general rule, a properly formatted grant proposal is more likely to be approved if it meets the following criteria
As a response to my grant request there were several comments pointing out that it is unclear to some people what TPF does and what it should do. So while I am not a representative of TPF let me ask this question. What would you like The Perl Foundation to do?
I hope that the responses to this question will allow the board of TPF to form their own strategy or at least to ask a better question.
Membership and board:
Currently the bylaws of TPF do not allow membership. Therefore the board is a self-elected group of people. I am not sure if they have a well defined process on how people can get in the board and how board members can get out. (eg. Is there a time limit for being a board member? How can one apply to become a board member?)
Would it be better if TPF was open for membership? Who could be a member?
Anyone? People who are approved by the board?
The Mailman archive is not always implemented on mailing lists (although on perl-mongers it is), but often it would be advantageous to have something slightly more accessible, and more importantly something more open to the non-perl community.
I found The Mail Archive some while back which members of certain non-programming groups I am on have found an easy way to keep on top of posts to their mailing lists rather than reading emails mixed in with other emails & having to generally handle them on a daily basis. So I added the za-pm group to this. Now with some posts stacked up you can see how it displays.
Use is simplicity itself, just add archive@mail-archive.com as a member and all else is handled automagically. Put a link on the bottom of every post and you are set for the members to pick it up.
I'm not claiming this is the best such solution, there are others, but it works nicely and the display format is neat. I hope that this will make za-pm more visible to the world both within and without the perl community.
I am new to the Perl community.
This is an overview of the the technology I found interesting in the talks I attended at YAPC::NA 2010 http://yapc2010.com/.
Database access for Rakudo Perl 6 has improved markedly in the past month. Here are the main points:
The MiniDBI project formerly known as FakeDBI is destined for inclusion in Rakudo * and is now 'usable' and 'useful'. Commit permission to the repo is freely available via hugme in #perl6. Porting simple database client software from Perl 5 to Perl 6 requires only minimal editing.
So, why MiniDBI and not just DBI? Because Perl 6 will have a DBI v2, based on JDBC, read more about that below. The Perl 5 DBI (v1) is very widely used, but enhancing it is far less important than maintaining its stability. Mini means a short term port of a v1 subset, leaving the DBI name free for v2 to use in future.
The mysql DBD has been working for several weeks now, most enjoyably inside http://pivo.jnthn.net (source). Su-Shee++ contributed various fetch* methods and tests in the new database independent test suite.
A new distribution is now on its way to your nearest CPAN mirror. Devel-Platform-Info provides the code framework to return metadata regarding the currently running operating system. The intention is to eventually use this metadata within CPAN Testers reports. However, the first step is to provide the means to extract the information from the operating system and return it in a consistent form (a hash) to the calling code, regardless of the operating system. There have been a few attempts on CPAN to provide 1 or 2 items of this metadata, or to verify whether the OS is as requested, but nothing that provides a simple data structure, with all the necessary components provided.
Over the past year I had posted queries to our local perlmongers group za-pm and received substantial help from the inmates.
Looking at things Perl I noted that on the perl.org site that we did not have a flag planted on the map. Querying this I found that the group leader (I never knew there was such a thing) had gone awol and that his emails were bouncing.
Reporting this with glee to the list & asking the leader to please stand up and be identified got me voted into the hot seat before you could write a perl one-liner.
Having disposed of other encumbrous duties I recently got access to the web site and added a small note, the first in seven years! Happy that I had fulfilled my promise to reactivate the site to pm_group I sent a small 'done it' note expecting a pat on the back.
In spite of having programming Perl mostly full time for the last 12 years, I still find myself learning new things about how Perl works (like the time I discovered the arcane apostrophe package separator when trying to add a possessive 's' on the end of a variable in an interpolated string).
Yesterday yielded a similar epiphany when I realized how rand, srand and fork were interacting in our e-commerce application at $work. Consider the following one-liner:
perl -le 'for(1..2) { fork or do { print int rand 100; exit } }'
This prints two random numbers between 0 and 99. Simple. Now, consider this slightly different example:
perl -le 'rand; for(1..2) { fork or do { print int rand 100; exit } }'
This prints the same random number between 0 and 99 twice. The reasoning is quite simple but was not obvious to me at first. When rand is first called in a Perl application, srand is implicitly called to seed rand with a different starting number. If this happens prior to a process forking, the same seed is shared by all of the child processes and non-randomness ensues.
Perl has grep/map/sort since probably forever (actually, sort() starts appearing since Perl 2.0). But even now, reduce is still not a builtin in Perl 5 (though available via List::Util), so doing reduce is probably not something that comes as naturally to Perl programmers. Meanwhile Ruby, JavaScript, and even PHP have their reduce operation builtin.
But then, reduce is "not really that useful" (you can just replace it with a simple for loop). So much that Python 3.0 now removes the function from the global namespace and reduces it (pun intended) to a mere member of functools. I guess reduce is really handy only if you are in a heavily functional language that lacks procedural basics.
This can be thought of as a testament to the level of language design skill that Larry has.
The rather funny thing is, in Perl 6, in addition to the reduce() List method there is also the reduce ([]) metaoperator as well.
For a while I've had very little to write because I've had very little time to speak. It makes sense when you think of it. :)
We had a lot of changes at $work recently. I've received a new position (as a team manager) but I'm still retaining my "Perl Ninja" title, and I've also had a birthday celebrated at the $office and was given a makeshift rubberband gun, crafted by Tamir Lousky. :)
Another big change (that is the brainchild of Mr. Lousky) is monitoring according to roles and not category tags, which is (at least according to the title) the subject of this post.