Hacking up biomolecules to understand how mercury causes so much trouble

Demian Riccardi will give a talk at YAPC::NA 2012 described as: 

I will present some recent tools I have developed to characterize the interactions of Mercury and other metals with biological molecules as present in the protein databank.  I will show how I use Perl with Moose and other CPAN modules to easily carve up thousands of structures and generate useful information.  Time permitting, I will also discuss how I manage quantum chemistry calculations using various electronic structure programs… all filtered through the same molecular objects.

[From the YAPC::NA Blog.]

Perl module ideas #3

About the Perl Module Ideas posting series. Previous posts: #1, #2.

1. RSS::Mention::*. This is a class of modules which can generate an RSS feed to monitor mentions. Particularly I am interested of people mentioning my CPAN modules (so, RSS::Mention::CPAN::Module). The module should query search engine(s), exclude results from CPAN mirrors, and put the rest into a database. The module should also have an option to generate a feed for mentions of all modules belonging to a certain CPAN author. One problem for this is that Google seems to ignore "::" in search query, even within quotes.

2. Something like Blog::Spam, but instead of detecting blog comments or forum posts, it should ban/delete rogue user registrations, including inserting bans for a range of IP's to block frequent registrations. There are already blacklist services for this, like stopforumspam. I have been seeing lots of spammy forum registrations lately (well, not lately, this has been going on for quite some time, but the frequency increases). The registrations are done by human (so they get through all kinds of CAPTCHA's and filtering questions).

Fun with Git

So, git has the —all command, which adds all tracked and untracked files for staging to commit. I really dislike this because I wanted something that would just add all the tracked files for staging to commit. So, a friend of mine in the office said that he had a shell script which did it so I give you git add for only tracked files:

git status | grep "modified: " | awk '{print $3}' | xargs git add

A Marpa mailing list

Ruslan Zakirov has started a Google mailing list for discussions about Marpa: marpa-parser@googlegroups.com -- I am grateful to Ruslan for doing this and plan to follow the mailing list.

On another topic, I will be removing the "bare name" version of Marpa from CPAN shortly. The "bare name" Marpa is a legacy, deprecated version and is simply causing too much confusion, with search engines and elsewhere. The official, stable version of Marpa remains Marpa::XS.

Open Advice: If I knew then what I know now...

Noirin Plunkett will give a talk at YAPC::NA 2012 described as:

Based on the recent “Open Advice” book, as well as many years of working and mentoring in Open Source projects, this talk will provide bite-sized introductions for newbies on how to go from consumer to developer, advocate, and participant.

Aimed at the Next Generation of Perl contributors, this talk will give every listener the tools and confidence to take the next steps!

[From the YAPC::NA Blog.]

Re: Asynchronous HTTP Requests in Perl Using Whatever

In addition to asynchronicity I couldn't stop and wrote this:

https://www.bing.com      has length      216 and loaded in 0.048 ms
http://www.wetpaint.com   has length     4648 and loaded in 0.341 ms
https://www.google.com    has length    31651 and loaded in 0.147 ms
http://www.example.com    has length     2966 and loaded in 0.172 ms
http://www.windley.com/   has length    83905 and loaded in 0.313 ms
http://www.uh.cu          has length    18454 and loaded in 2.415 ms

CGI::Snapp (a almost back-compat fork of CGI::Application), etc

Hi Folks

I've just uploaded to CPAN a set of 10 modules:

CGI::Snapp - A almost back-compat fork of CGI::Application

CGI::Snapp::Plugin::Forward - A plugin for CGI::Snapp to switch cleanly to another run mode within the same app

CGI::Snapp::Plugin::Redirect - A plugin for CGI::Snapp to simplify using HTTP redirects

CGI::Snapp::Demo::One - A template-free demo of CGI::Snapp using just 1 run mode

CGI::Snapp::Demo::Two - A template-free demo of CGI::Snapp using N run modes

CGI::Snapp::Demo::Three - A template-free demo of CGI::Snapp using CGI::Snapp::Plugin::Forward

CGI::Snapp::Demo::Four - A template-free demo of CGI::Snapp using Log::Handler::Plugin::DBI

Config::Plugin::Tiny - A plugin which uses Config::Tiny

Config::Plugin::TinyManifold - A plugin which uses Config::Tiny with 1 of N sections

Log::Handler::Plugin::DBI - A plugin for Log::Handler using Log::Hander::Output::DBI

Let the bugfest begin...

CPAN Testers Summary - February 2012 - Highway 61 Revisited

With 20 million reports, CPAN Testers is very definitely one of the biggest online repositories of test reports for both programming languages and software applications. While other languages and applications may have larger communities than CPAN Testers, the Perl community's commitment to testing has uniquely enabled CPAN Testers to build on the benefits from many areas of the test community. The TAP protocol has now been incorporated into several other language and application testing frameworks, and stand-alone applications, such as Smolder, have been able to harness the output to present results in a way which best highlights problem areas. CPAN Testers too has been striving to improve the way we present and provide analysis of reports.

Moose 101

Sawyer X will give a talk at YAPC::NA 2012 described as:

I’m assuming you’ve heard of Moose, right? That kickass object oriented framework that has taken the Perl world by storm. You know the one!

In case you’ve ever wondered “what is Moose?” or “how could I harness its powers to make my life easier and/or rule the world”, this talk is for you.

I’ll go over the basic functionality of Moose (with a few nifty tricks to keep you excited) and even sprinkle a bit of community extensions. At the end you’ll hopefully be drunk off the Koolaid! :)

(hint: if you ask nicely, I’ll even touch base on Mouse/Moo/Mo)

[From the YAPC::NA Blog.]

CPANdeps is also moving

In fact, by the time you read this it will have moved to its new home. The move is for the same reasons as laid out in my recent post about cpXXXan - contention for disk access slowing things down, and not enough memory for the database on the old hardware. It's now running on its own dedicated hardware and should be considerably faster.

Please let me know, however, if you find anything that I broke in the move!

How I install using dzil and cpanminus

Re: Install Distros Under Development Locally.

I couldn't comment on chromatic's blog (I don't use OpenID and friends), so I figured I could post it here.

dzil run cpanm .

That's it.

Also, if you don't follow modernperlbooks.com, you should start. :)

Making the parsing game safe

In previous posts, I've talked about Marpa as an alternative to other parsers. In this one, I want to talk about Marpa as an alternative for problems where parsing has been avoided.

Because parsing HAS been avoided in the past. And for good reason. If you were drawn by the allure of domain-specific languages, or yielded to the siren call of language-oriented programming, you plunged headlong toward two pitfalls:

  • Your parser might not parse your grammar. Which you might discover at any point in incremental development. Or when a vital maintenance change came along.
  • Your input might not parse, and your parse engine might leave you with no easy way to find out what the problem is. Maybe your input was wrong, maybe your grammar was wrong, or maybe you've simply hit the limits of that parse engine. When it came to debugging, taking a language-based approach was a bit like deciding to write your problem up in P''.

Problem Domain, meet Nodes & Edges: using Neo4j from Perl

Nuba Princigalli will give a talk at YAPC::NA 2012 described as:

What we’ll see in this talk:

* What’s a Graph Database and why should we care?

* How to model our problem domains to such thing?

* How to build, manipulate and do generally meaningful stuff with it?

** Using the (by then) recently released Neo4j Perl client, by yours truly!

[From the YAPC::NA Blog.]

Mojolicious + Bootstrap = Awesome

I have some news coming soon about Alien::Base but to avoid burnout, I’ve spent some time in the last few days playing with some things that are new to me. I enjoy doing this any time I’ve spent too much time on one project.

While I have spent some time using Mojolicious it has always been to hack together a quick UI for some code, rather than pulling out Tk. I never have really taken the time for pretty-fication, nor for any kind of interface logic.

I have a friend who thinks highly of my programming abilities and has recommended me to another of his friends to put together a website for a startup company. While I could put together a Joomla or Drupal site in no time, I thought I would investigate a Perl solution. I know that there are a few Perl CMSes out there (WebGUI 8 sounds interesting), but I wondered if I could hack something together myself.

Mark Leighton Fisher did not write Spring Integration in Action

Just for the record, i (Mark Leighton Fisher) did not write "Spring Integration in Action". And the Mark Fisher who wrote "Spring Integration in Action" does not work at Regenstrief Institute and doesn't maintain the Perl Module Tools suite pmtools.

(Funnily enough, I have used Spring.NET, though...)

Call for Venue for YAPC::Europe::2013

Although YAPC::Europe::2012 preparations are well underway in Frankfurt,
it is time for the venue committee of the YAPC::Europe Foundation (YEF)
to think about the location of the 2013 conference. YAPC::Europe
wouldn't exist without dedicated teams of volunteers, and we are always
excited to see the enthusiasm and learn about the new ideas the
community has to offer.

Further information about preparing a complete application can be
found at http://www.yapceurope.org/organizers/index.html .
Proposals submitted to the venue committee will be added to this public
repository (you may provide private information separately) to benefit
future organizers.

The deadlines which apply to this portion of the procedure are:

* Saturday, 7 April: Deadline for sending a letter of intent. This
letter simply expresses interest in hosting the conference and provides
contact information (both email and telephone) for at least two
organizers.
This is an optional step but it can be to your advantage to alert the
venue committee of your proposal.
* Thursday, 5 July: Deadline for sending proposals to host YAPC::Europe
2013.

If you do not receive a confirmation for your letter of intent or proposal
within a couple of days, please personally contact a member of the venue
committee.

Please send your questions, letters of intent, and proposals to
venue@yapceurope.org.

Embrace your Community

Mark Keating will give a talk at YAPC::NA 2012 described as:

How can you benefit from free software in business? How can you run a business in which most of what you work with and produce isn’t charged for? What is the value in engaging with a non-profit orientated community? Why would you want to engage with a community that can critically be described as a social exercise in collaborative one-upmanship?

In this talk Mark will use the experience gained from several years managing a free software consultancy to discuss the benefits to business of working with free software and engaging with the community. Using Shadowcat Systems, the Perl language and associated community as a basis for that talk.

[From the YAPC::NA Blog.]

On unsupported modules and RT tickets (#2)

Regarding my previous blog post on unsupported modules, after casual viewing of several RT queues (including viewing rejected and resolved queues instead of only the active ones), it looks like many CPAN authors do in fact read the tickets, but they do not respond or mark the ticket as open, so the status of the tickets stay as new and this gives the impression of neglect.

I wonder if RT can log the event if the author reads a ticket. Or perhaps show a helpful reminder for the author to act on a ticket immediately (even if just setting a ticket status). Or making it easier to set ticket status, by showing a button or two? Or perhaps automatically set the ticket status to open on the author reading the ticket? Some or all of them?

Installing DBD::mysql on Mac OS X 10.7 "Lion"

I’ve run into this problem every time I’ve set-up a new computer recently, so — in the interest of remembering where to look for the solution next time — here’s a quick “note to future self” post on installing MySQL and DBD::mysql on Mac OS X 10.7 “Lion.”

First, the binary installers for MySQL and PostgreSQL for OS X have gotten so good that I don’t bother compiling either from source anymore. In fact, the new PostgreSQL installer comes with a nifty “Application Stack Builder” tool that does 1-click post-installation installation of helpful PostgreSQL add-ons like PostGIS (previously, one of my least favourite things to install). The same goes for the MySQL binary installer: installing MySQL, a preference pane for starting/stopping the server, and a startup item to ensure that it’s always running after a reboot is all included.

Easy Data::Printer in the perl debugger

I find myself often wanting the magic of Data::Printer when I’m debugging. Sometimes ‘x’ just doesn’t cut the mustard.

I’ve finally got bored of typing:

use Data::Printer alias => dp;

in the debugger and have taken some time to make it available automatically.

If you want to try it add the following to $HOME/.perldb:

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.