Since I'm going to be going to
YAPC (Yet Another Perl Conference) in Pittsburgh next week, I just wanted to make a quick plug for the conference for all you programmers out there. YAPC is a great experience and, as far as conferences go, it's affordable and incredibly helpful. There are 3 tracks of talks to choose from on any given day and they're not even all about Perl. For instance, there are some talks on
Git which I've already marked on my
schedule). The whole 3 day conference is only $150 and it's jam packed with developer goodness.
I haven't really posted about how the WunderCounter works on the back end, but the basic technology is LAMP:
As far as Linux goes, I strongly prefer
Ubuntu. The sites are run under Apache 2, MySQL 5 and Perl 5.8.8 (There's an upgrade to Perl 5.10 likely coming very soon). The web end of things is run under mod_perl using Apache::Registry and dozens of Perl scripts run many, many times on any given day performing maintenance on the WunderCounter. The WunderCounter also has test suites which are run by Perl scripts several times per day to monitor the health of the site, network and databases. So, it depends heavily on Perl, which is why I'd like to give it a little plug.
There are lots of scripting languages out there which can do a lot of the same things which Perl does, but Perl has the advantage of
CPAN, which is an open source library of thousands of code libraries. Whenever I'm coding something for the WunderCounter, I check CPAN first to see if somebody else has already tried to solve the problem I'm dealing with. In a lot of cases, there's a module on CPAN which solves my problem, thus saving me from reinventing the wheel.
I've even released some of the code with drives the WunderCounter to
my CPAN directory. So, for example, if you need to parse out search engines from referring URLs, you can do so quite easily with URI::ParseSearchString::More, which I published a while back. It's the very same module which the WunderCounter uses and it's free for anyone to copy, use, alter, mutilate etc.
I did mention that I'm going to some talks on Git. Having said that, I should say that the WunderCounter is currently kept in a
Subversion repository. Subversion is an excellent source control management system. I plan on sticking with it for some time, but Git does a few things better, so I may switch things over to Git eventually. The new
WordPress plugin (to be released shortly) is stored in a Git repository on
GitHub, so at least some of the WunderCounter source code will be stored in Git.
Hopefully some of you will find that interesting. As a developer, I'm always curious to find out how people manage things on the back end, so I thought I'd share with you a little about how I like to do things.