Caleb Cushing's Blog Also known as XenoTerraCide

I am a $explicitive, or Formal Apology to RJBS

A lot of people think I’m a $explicative (insert your favorite one there). I’ve said some things that I shouldn’t have because I was pissed at the Person(s) at the moment. I would like to formally apologize to RJBS for the negative things that I said, about him. He’s been nothing but kind to me and is a great contributor to the perl community (and maybe others?). I greatly disrespected RJBS and I actually do regret it.

Using ref to fix 5 year old bug

So I haven’t been hacking perl for 5 (or more) years but I forked Template::ShowStartStop from Template::Timer which is that old. since I forked it this test has bugged me since I didn’t really understand the test, the section of code it referred to or the actual problem. This is an approximation of the error you’d get. Couldn’t render template “undef error - Can’t call method “name” on unblessed reference at /usr/lib/perl5/site_perl/5.

Testing TT Template's

So the poorly made patch the other day converted my Test::More test to use Template::Testwhich removed quite a bit of code from the test itself. I hadn’t seen Template::Test beforehand.Here’s a very simple example of a test you could write to make sure a template is being output ok.#!perluse strict;use warnings;use Template::Test;my $tt = Template->new();my $vars = {var => ‘world’,};test_expect(*DATA, $tt, $vars);DATA–test–hello [% var %]–expect–hello worldIf you want more examples I now have quite a few for Template::ShowStartStopwhich you can see in the Test directory of the master branch.

Submitting Patches is better than "Patches Welcome"

So I received my first patch for Perl code a week ago. Amazingly I didn’t have to tell the person patches were welcome, they must have assumed so because my project was licensed under an OSI approved license. Also amazingly I’ve applied the patch even though it didn’t meet my quality standards. I figure that’s my fault though because no where did I document what those were.Back when I forked Regen2 from Funtoo one of the first things I did (and a reason for the fork) was create a policy for patch submission.

That's not what I'm saying

people seem to think that I’m saying support should be a #1 priority. will someone please cite where I said that? yes I said it should be a priority, I said you should do it. I did not say where on the list it should fall. Even if you’re an employee at a company making $100k a year, if you’re wife is dying, your priority is that, hopefully your children come before said company in most cases too.

Warranties, what do they have to do with anything?

so the whole ‘open source’ has no warranty thing keeps coming up as a defensible reason that I’m wrong.Microsoft offers a 90 day limited warranty that the software will work to some degree or another as advertised or some such. If you really want to consider what they’re saying… it should work if it doesn’t we can send you another disk or you can return for refund. which really is what you could have done at the store anyways.

of Volunteers and Work

So, I’m heavily criticized for my unpopular opinion that open source volunteering is a job. I would like to point out the definitions of Volunteer and Work from answers.comI have removed a few irrelevant definitions, like those of ‘botany’.volunteern.A person who performs or offers to perform a service voluntarily: an information booth staffed by volunteers; hospital volunteers.Law.A person who renders aid, performs a service, or assumes an obligation voluntarily.v., -teered, -teerĀ·ing, -teers.

Google trashed my Google Site's Content

When I forked Regen2 from Funtoo over a year ago I created a web page for it on sites.google.com. The hosting and uptime were both right for what I needed. The dns has long expired but I went to sites today to find a public link to the content, only to find that at some point they upgraded sites and completely trashed all the content I had put on there. Sure they have a revision control on there now… but it doesn’t contain ANY of the content I had left.

GPL 3 and Artistic 2.0 Software::License

As of right now Software::Licensehas no way to combine licenses on the fly. To be honest this deficiency might not be a bug in SL, it could be in Pod::Weaveror Dist::Zillathis is a know deficiency and RJBS plans on fixing it at some point. In the mean time we can implement dual licenses (and multi-licenses) in much the same way the Perl5 license is implemented.I was probably in legal violation (I am not a lawyer) with Template::ShowStartStopversion 0.

Documentation! it should be TDDD

UPDATE: I shouldn’t have said what I said about RJBS and have apologized publicly Test Driven Development should be Test and Documentation Driven Development. I don’t want to read your code to figure out how to use it. I don’t really care if you write the Test, documentation, or the feature first. But you should do all three before moving on to the next one. I’m gonna pick on Dist::Zilla this seems like a very good tool.