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.]

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.

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.

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.]

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:

20 Million Test Reports

I am rather delighted to be able to announce that on 22nd February 2012, CPAN Testers reached a very significant milestone in our history. We reached and have now surpassed 20 million test reports, as can be seen via the Interesting Stats page. That's approximately 14 million via the HTTP API.

For the past few months this has been nearly 1 million reports each month. Expectations are now that we could reach 30 million by the end of the year. This is a phenomenal number of reports, and I did notice a little while ago, that a certain other test report repository have now removed their claim of having the biggest database of test reports. It's going to be a long while before any other code repository has anything like the number of test reports available for authors and users to analyse. In part that is also thanks to the 24588 distributions now on CPAN and the 5576 active CPAN authors, but is also thanks to the 1,000+ testers (even those who've only submitted one report), who keep making CPAN Testers a worthwhile project to be involved with.

Congratulations to Andreas J. König for posting the 20 millionth report. It was an UNKNOWN report for Makerelease-0.1.

Cross-potsed from the CPAN Testers Blog.

address-sanitizer round 2

For the upcoming 5.16 I decided to check our code again with address-sanitizer, google's open-source memory checker.

At the first round address-sanitizer was still a bit immature, I had to use a black list for false positives. With the current versions all the false positives has been fixed and clang 3.1 has address-sanitizer included.

address-sanitizer is a memory checker similar to mudflap, but superior to valgrind or coverity and others. It catches more error types, esp. invalid access to globals and to stack addresses, and use after free and use after return. It does so by using shadow memory maps for all pointers and instrumenting the accesses. This is fast, but needs more memory. ASan (short for address-sanitizer) hashes the pointer maps, so it needs much less memory than a full old-style fence checker, which use insane amounts of memory. valgrind can be used to catch memory leaks (i.e. if you are writing daemons) but should not be used to catch pointer errors.

Testing Workshop Photo Contest

We have a ticket to the YAPC::NA 2012 Testing Workshop that we held in reserve, but no longer need. If you would like a free ticket to get in to the Testing Workshop all you have to do is send an email to admin[at]yapcna[dot]org expressing your interest. The person who includes the most interesting picture of something Perl related (people from the Perl community, onions or camels, Perl ascii art, or whatever) will get the free ticket. 

[From the YAPC::NA Blog.]

Be nice to your speakers

This year we decided not to disturb our speakers on the german perl workshop during their talks to tell them the time remaining. Instead, we printed simple tags in different colors with a short meaningful text on it. As far as we got feedback from our speakers, they liked it.

Smilies.jpg

GraphViz2 V 2.01 & utf8 & N classes in an 'isa'

Hi Folks

GraphViz2 V 2.01 is now on CPAN. The 2 changes (all noted in the CHANGES file) are:

  • Demos of using non-ASCII chars in node and edge labels. See scripts/utf8.pl and scripts/utf8.test.pl. Sample output is at the end of the demo page. Scroll w-a-y down.

  • The API for GraphViz2::Parse::ISA has changed significantly, to support putting several class hierarchies on the same graph. Sample output is on the page above. Just search for isa.

Cheers
Ron

Asynchronous HTTP Requests Using Mojolicious

This is in response to this article, Asynchronous HTTP Requests in Perl Using AnyEvent - linked to from Perl Weekly . Particularly, this quote:
BTW, if you’re a Perl programmer and you’ve been jealous of all the cool kids and node.js, AnyEvent is how you do node.js-style programming in Perl.

UPDATE: this is a better example.
Doug Wilson gist of HTTP async with Mojo::IOLoop. On my test system, this now runs slightly faster than the AnyEvent::HTTP solutions.


Below is *a* solution using Mojolicous. I am sure there are other frameworks that can do the same thing. Benchmarks showed that the AnyEvent program is faster anywhere from fractions of a ms to one entire second depending on the iteration. In this simple case, AnyEvent::HTTP may be the correct solution, however I think as part of a larger project you are still better off going with an async web framework like Mojolicious.

So, you want to run a Perl event?

Dan Wright will give a talk at YAPC::NA 2012 described as:

Perl events come in all shapes and sizes ranging from tiny hackathons to a full-fledged YAPC’s.

In this talk, I will cover various lessons learned from years of running Perl events. I’ll reveal some often hidden pitfalls and outline methods for success in running your event. I will also cover some of the resources that are available to help you run your event.

Audience: Perl experience isn’t really relevant to this talk. This talk is suited for anybody that has an interest, but little experience in event organizing.

Bio: As a founding organizer for The Pittsburgh Perl Workshop, I know first-hand what it is like to run an event for the first time. Since 2006, I’ve organized 5 PPW’s and a YAPC. Currently, I am planning for PPW 2012 and also serving as Treasurer for The Perl Foundation.

[From the YAPC::NA Blog.]

Ciao, Booking.com

Ah, yeah, I didn't say anything yet about I'm not with Booking.com anymore since this year. I would like to thank them for sponsoring YAPC::Europe in Riga last summer but now I'm going to move further and being an employee of that company would only stop my passion, ideas and desires. I wish I would not meet all the weird corporate issues anymore.

Truth about Booking.com

It is time to talk about Booking.com. I hear many people ask about us and guess what it is like. I hear lies. I hear truths. No one will really tell you. I will tell you and I wish be fair. Booking.com may be very good for you, but you need to know before you take job if you want it. Booking will tell you the good stuff, not bad stuff.

I will not mention names. I don't want to cause people trouble, but I see good people being pushed out door. This makes me sad because there is no hope of getting better. First, I talk about code.

Before I talk about code: remember that Booking has become the number one in what they do. They are making piles of money and are still growing fast. They are doing something right. I will sound upset about some of this, but some of what they do is good. They are very smart people.

All of my conference presentations on slideshare.net

I may be the last person to do this, but I finally put all of my conference slides, and a few of my presentation notes, on slideshare.net.

It was fun going through my old slides. I started giving presentations at ApacheCon in 2000, where I gave a talk with Bill Hilf about our work building eToys with Perl and open source tools. The article version of that is online, and the slides add very little, so I skipped that one.

I also skipped my Perl ORM talk from 2005, because the tools I covered are not really relevant anymore. I would advise people to look at Rose::DB::Object and DBIx::Class now, not Class::DBI, SPOPS, and Tangram.

Unfortunately, I can't see a way to sort the presentations so that the newest ones are first. If anyone knows how to do that, I'd like to hear it.

One amusing thing I've discovered: putting the word "scalable" in your title seems to draw in a lot of viewers!

YAPC::NA *NOT* sold out after all.

I’m very sorry, I posted the sold out message before verifying that my counts were correct. I’m apparently a little too excited about this. =)

YAPC::NA 2012 is NOT sold out. The report I ran had some duplicate data in it. So we have about 30 tickets remaining. If you’re one of those people who hasn’t registered yet, then please do so before these tickets are gone for real. 

Once again, I’m very sorry for posting false news. YAPC::NA is not yet sold out. 

[From the YAPC::NA Blog.]

github ssh audit - how to check your fingerprints

github forget to tell you how to easily check your .ssh fingerprints. ssh-keygen -l -f id_dsa.pub is easiest.

See https://github.com/settings/ssh/audit

ssh-keygen -l -f ~/.ssh/id_*.pub

and compare the fingerprint to the ones listed at github.

For multiple .pubs:

for p in ~/.ssh/*.pub; do ssh-keygen -l -f $p; done

For the backstory see https://github.com/rails/rails/issues/5228 where @homakov was ignored and accused of trolling, until he decided to prove the vulnerability. Bad decision apparently.

https://github.com/blog/1068-public-key-security-vulnerability-and-mitigation#comment-17266

Set::Array V 0.24 'v' bugs in Want

Hi Folks

Set::Array V 0.24 is now in CPAN.

I hate to do it but I've coded a kludge in Set::Array to stop segfaults with Want V 0.20 when using sub difference(), which can also be triggered by using '-' between sets.

Updated docs discuss this issue, and offer 3 ways to code diffs which return the expected result.

Cheers
Ron

Query

Can anyone tell me how can I write a script to automate results downloads from a page.

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.