Someone added a field to the middle of the data set, and didn't increment all the following field id's. (I.e., $7, $8, $8, $9...).
Lesson #1: Be careful when inserting to the middle of a set. If you can safely insert at the end, do so.
Lesson #2: Don't use the numbered regexp capture syntax for large numbers of capture groups. Use ($foo, $bar, $baz) =
I didn't write the original code - I just had to fix it. (Luckily, I like fixing things.)
Producing Open Source Software - How to Run a Successful Free Software Project (read online, Buy buy from Amazon, buy from O'Reilly) is an overview of most aspects of the open source world. He covers everything from Version Control Systems to Hired Guns to Releases and Version Numbering. Karl's been doing open source for years, and has some great anecdotes to share, and he does it in a friendly and explanatory manner.
Even if you've been doing open source for years, you'll get something out of the book, even if it's just reassurance that you're not the only one who thinks that way.
Karl has been one of the driving forces behind the Subversion project. I'm consistently impressed with how Subversion is run. Decisions are well thought out, things are planned, flamewars are rare, discussions are civil. You too can have a happy project.
Ask and I spent yesterday afternoon playing with it, and have it mostly figured out, although we need a little more time to get it just right.
The management interface on it is sweet (to use one word.) Built in console server, remote management, etc all in a very snappy and easy to use web interface.
Blades. They are the way of the future.
The movie was consistently enjoyable, same high quality as the show, good story, good action. (No spoilers here.)
I went to see a 1:30 matinee and the theatre wasn't close to packed. I suspect tonight will be a lot busier. The audience definitely enjoyed it, and managed to turn off their cell phones and clap only at the beginning and end.
If I do have one misgiving it is that I didn't see it on a digital projector. (I've been spoiled.) It was a fresh print, no scratches or dirt, and everything was quite nice... but I would have liked just a little more sharpness.
Still reading? Get thee to a theatre!
Steve Peters asked if I could consolidate the Win32 and mswwin32 types in the Operating System CustomField in perlbug. Definitely a reasonable request, especially since we couldn't figure out what the difference was.
First try was to use RT's bulk update, but it didn't want to let me change custom fields... so... I wrote a script:
#!/home/perl/bin/perl
use strict;
use warnings;
use RT;
use RT::Queues;
use RT::Tickets;
RT::LoadConfig();
RT::Init();
my $tx = RT::Tickets->new($RT::SystemUser);
my $cf = RT::CustomField->new($RT::SystemUser);
my $q = RT::Queue->new($RT::SystemUser);
$tx->FromSQL(q[queue="perl5" and "cf.perl5.{Operating System}" = "Win32"]);
$q->Load('perl5');
$cf->LoadByNameAndQueue(Queue => $q->Id,
Name => 'Operating System');
while (my $t = $tx->Next) {
my $os = $t->FirstCustomFieldValue("Operating System");
$t->DeleteCustomFieldValue(Field => $cf->Id,
Value => $os);
$t->AddCustomFieldValue(Field => $cf->Id,
Value => 'mswin32');
}
It gets the job done. There's a few things that aren't quite "simple enough"... but we'll see about knocking those out in the next version.
Learn more about RT in the soon to be published book RT Essentials.
Apparently there are still a few seats available for the RT Tutorial at OSCON this year. Get them while they're hot.
Everyone who has attended the class loves it. It's based on our full day tutorial, which leaves people stunned. (And I mean that in a good way.)