Anyway, I'm keeping an eye on the discussion, archiving it, and will be responsive to feedback. At some point in the not too distant future (probably late August, maybe sooner) I will rustle up a focus group on IRC so that I can attempt to work where to go with some of the more subjective bits of the survey I end up running.
I haven't committed much to the github repository for this project since my last update, because a lot of what I've been doing is fairly exploratory stuff. Essentially I've been through the original report with a view to replicating the findings of the original survey, and trying to segment out some more interesting analyses.
Unfortunately this has proven to be a pain. I could sit down and mung the data some more, but I don't think that would be a good use of my time. It's much better to thoroughly ensure that the next set of collected data is clean and easy to use from the word go.
Don't get me wrong, there's a lot of useful stuff here, but there's a lot of detailed unpicking of the data structure to do to ensure consistency for cross-tabulation and other analysis. Unfortunately I don't think the benefits of doing this would exceed the costs, particularly because the 2007 dataset is getting a bit old now. However, I can still use the 2007 data to ensure a properly structured 2009 survey that's structured in a way that is easily sliced and diced.
So my next steps are as follows:
When this is done I can start drafting new questions, and rigging up the basics of the web application for collecting the data. Provisionally we'll try to get this happening for late autumn in the Northern Hemisphere, when everyone is back home from the beach.
Back in January, I started doing work on the Perl Foundation grant for the perl survey. I'd gathered all the data together, and done a fairly sizable job of cleaning it up, when along came a new job and a horrendous set of deadlines for the now imminent Catalyst book. Meanwhile I was waiting for Skud to give me the original Perl Survey 2007 report which had fallen off the net.
So for now, I'm going to go through the survey report fairly slowly, replicating the previously presented analysis in R code and writing notes about what extra things can be done with the extant data. Once this is done, I'll look at things that can be dropped from the old survey, and think about enhancing the next iteration of the survey with more questions.
It's Catalyst::Controller::reCAPTCHA on cpan and comes with documentation and a simple example application. If anyone wants to add patches for Captcha::reCAPTCHA::Mailhide api, feel free
By the way, watch out for testing this on your dev box - I got myself banned from reCaptcha for several hours by posting continually failing recaptchas.
Unfortunately, javascript is a pain, but getting better. Unfortunately there seem to be a few good books out there, and none of them in my local library. Time to create my own resource for learning javascript! WTFM indeed. So following the advice of people who know, I downloaded the Core Javascript Guide. To give myself an interactive environment for learning Javascript I downloaded Firebug and off we go.
First up is the chapter on variables. Open up the Firebug inspector (a green tick in the lower rhs of my browser here) and declare a string in the interaction line (right at the bottom of the window with three blue angle brackets (>>>) like so:
a = "Hi";
Then:
window.alert(a);
There we go, scalar variable naming and browser interactivity all in one go. Next up the rest of the chapter.
BTW while this isn't directly relevant to Catalyst, people do pop up on IRC asking for the "best javascript book" and the approach above seems a reasonable substitute.
Update: I found the little gray V at the far right hand side of the firebug eval area in firebug. Turns out you can eval blocks of code too
a = 'foo';
b= 'bar';
if (a == 'foo' && b != 'bar') { window.alert(a)}
else {
window.alert(b)
}
Update: (again). A little birdie tells me that I should declare my variables with var a = 'Hi'. Something to do with scoping issues. I guess once I understand how to do data structures in javascript I'll be working out scope and how to do something "use strict" like.
Along the way to getting Dojo into WIAB, I found an "interesting" interaction bug between Template::Plugin::CGI and the built in Catalyst test server... Must report that problem. Something to do with CGI expecting stuff from STDIN at inappropriate times.
Naturally if I have any volunteers for any of the above jobs