I’ve been thinking of writing some CPAN API review blog posts. There’s a lot of bad APIs on CPAN. But before I pick on other people’s modules, I thought it would be good to start with something of my own. The first release of DateTime was in early 2003. There’s 7+ years of mistakes to review, but I’ll just hit the highlights. Duration and subtraction APIs In my experience, the single most confusing part of the distribution is DateTime::Duration API.
My last blog entry, “What Versions of Core Perl Should Module Authors Support?", generated a lot of discussion in the comments. There were a number of points raised that are worth addressing. First, in a wild coincidence, RHEL 6 was released the day I wrote the blog entry. It includes Perl 5.10.1, which means that the last major Linux distro still shipping 5.8.x is now a little more up to date.
The new Perl 5 core release schedule raises some interesting questions for Perl module authors. In the past, major version releases of Perl were unpredictable. There were approximately two years from 5.005 to 5.6.0, then another two years to 5.8.0. After that, it took a whopping five years til 5.10.0, and then about 2.5 years til 5.12.0. However, that’s all about to change. The Perl 5 core developers have moved to a timeboxed release plan, and there will be a new major version of Perl once per year.
I often wish that I had an infinite supply of time, motivation, and skill. If I did, I bet I could get a lot done! My programming (and programming-related) todo list includes so many items that I’m quite sure I’ll never get to most of them. Here’s my current list, though I’m probably missing some stuff, in no particular order … CPAN Search $NEXT I’ve been thinking about this for quite some time, but I haven’t really done much with it.
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.