If I were being accurate, this entry would actually be titled “What’s Wrong With Perl 5’s Overloading for People Who Care About Defensive Programming?” If you don’t care about defensive programming, then Perl 5’s overloading is perfect, and you can stop reading now. Also, please let me know so I can avoid working on code with you, thanks. Defensive programming, for the purposes of this entry, can be defined as “checking sub/method arguments for sanity”.
I wanted to turn all the dates in my Changes file into the YYYY-MM-DD format (in this case from things like “Aug 27, 2008”). Here’s my one-liner: 1 2 3 4 perl -MDateTime::Format::Natural -pi -e \ '$f = DateTime::Format::Natural->new; s/^([\d\.]+\s+)(\w+.+)$/$1 . $f->parse_datetime($2)->ymd/e' \ Changes The DateTime project is pretty badass, if I do say so myself. Note that most of the credit here should go to Steven Schubiger for DateTime::Format::Natural
After some recent conversations with Unny, CAA’s Development Coordinator, I’ve started thinking about whether or not the idea of being vegan is a barrier to entry for animal advocacy. Is vegan something I am, or is veganism simply something I do? I’ve long said that “I am vegan” to people when describing my diet and/or my ethics. It’s a nice simple shorthand. However, it also defines me in a way that “living a vegan lifestyle” does not.
The tech field is terribly faddish. Ideas come and go (and come back and go again) with great speed. A few years back people couldn’t stop babbling on about “semi-structrted” data. Thankfully, I haven’t heard that term in a few years, and I won’t miss it. The term always bothered me because there’s no such thing as semi-structured data. There’s data that’s structured in a nice simple way a computer can handle (like a Perl hash or a C struct), and then there’s data where the structure is so complex that it doesn’t fit nicely into a simple structure.
This was a great conference, and the organizers did a great job. This is my first visit to the EU, and so far I’ve had a great time. Over the last day or so, I’ve had some interesting conversations with people about how we can improve our conferences, and I wanted to write down some notes before I forget these ideas. Apologies in advance for rambling and incoherence. It’s 1:30am here in Pisa and I’m beat.
The Moose Cabal now has our own blog. We plan to use this as a source of news about Moose development and usage, so add it to your feed reader if you’re interested. Comments Brother Foo, on 2010-07-25 21:40, said: Domain doesn’t resolve? (also your anonymous commenting wants my name and email address). Dave Rolsky, on 2010-07-25 21:55, said: I thought the domain was resolving consistently, but it seems like there’s some kinks in the DNS to work out.
At Compassionate Action for Animals, we explicitly do not promote veganism using arguments about human health. We are happy to talk about how to be a healthy vegan, but we don’t try to convince people to go vegan for their own health. Some people find this odd. Isn’t veganism obviously the healthiest diet? Why wouldn’t we use such a powerful argument? Shouldn’t we make the best case we can for veganism?
I realized that the migrations I wrote were very buggy. Now I’ve written a test system to help me test future migrations, but the existing releases are problematic. I can create a set of schema changes to fixup a schema which has been migrated, but the changes will have to be applied manually. Note that if you’re comfortable wiping your existing schema because you’re just playing with Silki then this is a non-issue.
There’s been a lot of discussion about the role of TPF lately, both at YAPC and on blogs. The most recent discussion is in the comments of a recent blog post by Gabor Szabo asking people to weight in on what TPF should be doing. In the comments, Casey West says: It’s a striking sign that The Perl Foundation is expected to pay for open source contributors … Right now TPF is using money to demotivate the Perl Community!
In a comment on my entry about Dist::Zilla pros and cons, Phred says: I’m not clear on the value Dist::Zilla provides other than some versioning auto-incrementing and syntactic sugar for testing. This brings a up a good question. What the heck to does dzil do? Let’s walk through a dist.ini file from a real project. I’ll use the dist.ini from my Markdent distribution. This should answer the “what does it do” question quite well.