Safe Travels
Though many are sticking around to take in all that Madison has to offer, many others are headed back home from YAPC::NA 2012. Safe travels to you all.
[From the YAPC::NA Blog.]
Though many are sticking around to take in all that Madison has to offer, many others are headed back home from YAPC::NA 2012. Safe travels to you all.
[From the YAPC::NA Blog.]
Barbie will give a talk at YAPC::Europe 2012 described as
Labyrinth is a codebase for presenting websites, originally designed and developed in 2002. It's original design goal was to be a "Website In A Box", meaning that it could be installed on a web server ready and complete to server a website. However, it can additionally be extended, providing a framework for those who wish to add their own requirements to the workflow and functionality.As such, this talk is an introduction to both the web framework and stand-alone aspects of Labyrinth.
If you visit the Silicon Valley Perl Mongers Meetup site, you'll see that I'm now listed as the organizer. This is not strictly true - Ian Kluft is still our primary organizer, but due to the fact that Meetup sends out a metric buttload of mail - I have now witnessed this as organizer - he missed the "OMG SVPERL GONNA DIE" message that got sent, repeatedly, to all the SVPerl members when the Meetup bill was due in a week.
Everyone was getting nervous, so I jumped in and paid the bill, partly because everyone was getting nervous we hadn't heard from Ian, and partly because WhiteHat Security, my current employer (who I love, and you should come work here if you are a good Perl programmer - heck, if you're a good Python or Ruby programmer, come and we'll teach you Perl) said they'd pick up the tab.
So, woo, I'm an organizer. I just like having an excuse to give talks!
So you're sitting at home, preparing for a karaoke night, waiting for your friend to arrive. She comes in, rings the doorbell and you're thinking "fuck! I'm upstairs, and she's downstairs and I have to open the door for her (because it's locked) but I'm busy changing my clothes." What do you do? WHAT DO YOU DO?
What if you could let her in using you phone while you're still upstairs getting yourself ready? Arduino could be used for that. And the following is a theoretical (and slightly bit practical) explanation on how you could use Arduino and Dancer to accomplish this.
Arduino is a basic unit. You can set bits on and off. You can hook the bits to other devices (sound, video, screens, you name it!). You can write firmware to it. That's awesome. You can hook up more shields (components) to it. That means you can have additional hardware like an ethernet hookup or whathaveyou.
YAPC::NA’s talks for Day 3 begin at 9am, with the plenary starting at 8:40am. Yesterday was a big success, but now it’s sort of sad that we’re already to day 3. Oh well, there’s always next year! Here’s to hoping that we go out with a bang in day 3.
Don’t forget that you can watch live on the web for free:
[From the YAPC::NA Blog.]
We finally fixed a bug in our voting app, so we were able to vote the talk proposals. We have accepted lots of talks (thanks for the great proposals). Even those talks that have not been accepted yet are not rejected at all. They will be reconsidered in the next round of voting...
So today and in the next few days, you'll see a lot of blog posts introducing the accepted talks.
This is a placeholder post to house links to further reading from my YAPC::NA 2012 keynote.
I am very pleased to announce Marpa::R2 -- "Release 2" of the Marpa parser. For those unfamiliar, the Marpa algorithm is something new in parsing -- it parses anything you can write in BNF and, if your grammar is in one of the classes currently in practical use, it parses it in linear time. Marpa::R2's parse engine is written in optimized C, so that Marpa::R2's speed is competitive with parsers of far less power.
An important feature of the Marpa algorithm is "situational awareness". Marpa knows at every point in the parse exactly how far it has progressed in each rule, and can share this information with the application. The advantages of this go beyond error detection -- Marpa's situational awareness is accurate, graceful and fast enough to be used as a parsing technique in its own right -- Ruby Slippers parsing.
Here's a small script which I whipped up just now. I thought of trying out MetaCPAN::API, but after about 5 minutes of trying to find a way to list an author's distributions (and failed), I resorted to a quick hack using Mojo::DOM.
Here's a sample output:
Please welcome Webfusion as a silver sponsor of this years' YAPC::Europe.

Established in 1997, Webfusion is one of the UK's leading web hosting groups. We offer cost-effective, feature-rich hosting packages for everyone from businesses, web developers, designers and hobbyists. With 24/7 technical support, robust Firewall server protection and a state-of-the-art UK based data centre with Webfusion your website is always in safe hands.
www.webfusion.co.uk
From guest contributor Dave Rolsky:
There are a ridiculous number of vegan options in Madison at YAPC::NA 2012. Some of the highlights:
I suspect I won’t even scratch the surface before I leave on Saturday, but I’ll do my best.
[From the YAPC::NA Blog.]
HTML-Tree has long been a source of memory leaks for programmers who weren’t very careful with it. Because it uses circular references, Perl’s reference-counting garbage collector can’t clean it up if you forget to call $tree->delete when you’re done.
Perl added weak references (a.k.a. “weakrefs”) to resolve this problem, but HTML-Tree has never taken advantage of them. Until now.
HTML-Tree 5.00 (just released to CPAN) uses weak references by default. This means that when a tree goes out of scope, it gets deleted whether you called $tree->delete or not. This should eliminate memory leaks caused by HTML-Tree.
Unfortunately, it can also break code that was working. Even though that code probably leaked memory, that’s not a big problem with a short-running script. The one real-world example I’ve found so far is pQuery’s dom.t. In pQuery 0.08, it does:
Inspired by http://www.slideshare.net/c9s/perlhacksonvim I wrote (well ... copied for the larger part) a script to open the Module currently under the cursor in vim.
Typing \fm will lookup the first Module found in available Perl library paths (plus current working directoy . '/lib')
I did search for some time and read a bit about ctags and pltags but ended up confused. add this to your vimrc
""""""""""""""""""""""""""""""""""""
" find module in perl INC and edit "
""""""""""""""""""""""""""""""""""""
function! GetCursorModuleName()
let cw = substitute( expand(""), '.\{-}\(\(\w\+\)\(::\w\+\)*\).*$', '\1', '' )
return cw
endfunction
function! TranslateModuleName(n)
return substitute( a:n, '::', '/', 'g' ) . '.pm'
endfunction
function! GetPerlLibPaths()
let out = system('perl -e ''print join "\n", @INC''')
let paths = split( out, "\n" )
return paths
endfunction
function! FindModuleFileInPaths()
let paths = [ 'lib' ] + GetPerlLibPaths()
let fname = TranslateModuleName( GetCursorModuleName() )
for p in paths
let f = p . '/' . fname
if filereadable(f)
exec "edit " . f
return 1
endif
endfor
echo "File not found: " . fname
endfunction
nmap fm :call FindModuleFileInPaths()
Thanks to tinita! She started a Wiki page where you can find a list of restaurants that offer vegan / vegetarian food:
Apparently the receipt that dorm dwellers receive from the University doesn’t tell them they need to go to Chadbourne Hall. So I wanted to announce it far and wide in case anybody else gets hung up by that.
Chadbourne Hall
420 N. Park Street
Madison, WI 53706-1489
Chadbourne Desk: (608) 262-2688
[From the YAPC::NA Blog.]
It is with great pleasure that we officially announce a new sponsor for the CPAN Testers Project. Webfusion have provided us with Managed Hosting, for us to use with some of the supporting websites. As such, we will be using it for the Analytics and Matrix websites, as well as a secondary failover site for the Static Reports site.
Webfusion are the latest corporate sponsor to support CPAN Testers. If your company would like to support CPAN Testers, please get in touch. You can also donate to the project via the CPAN Testers Fund, managed by the Enlightened Perl Organisation.
For further details, please see the CPAN Testers Blog.
I cannot decide if I was too harsh. I try not to let the usual drone of noobs on SO to get to me. My problem was that the OP is being both ignorant AND demanding. Read the post and let me know, I'm back and forth between being enraged and contrite.
We welcome urbia.com AG as a Silver Sponsor of this years' YAPC::Europe.

urbia.com AG (a company of Gruner + Jahr AG & Co KG) operates the web community www.urbia.de targeting young families with topics like pregnancy, birth, baby and parenting at its core. www.urbia.de attracts 6,5 million visits and 2,3 million unique users per month which makes us the market leader in the parenting segment in Germany.
Perl has been proudly powering our platform since 1998. In the meantime we migrated our code base to Modern Perl making use of the Catalyst MVC framework, DBIx::Class, Template::Toolkit, Moose and tons of other wonderful CPAN modules without which we would have never been so successful. To thank the excellent community and show our continuing support, we decided to sponsor this year's YAPC::EU in Frankfurt. If you're interested in joining our team in Cologne, go to http://www.urbia.de/allgemein/jobs to check out our open positions and/or contact us at jobs@urbia.com.
Someone over on the web figured out how to view the streams without Silverlight: http://mail.pm.org/pipermail/vienna-pm/2012-June/003125.html
[From the YAPC::NA Blog.]
So I'm in Madison, Wisconsin for YAPC::NA 2012. Yesterday, I was supposed to meet up at one of the hackathons. I went to the Pyle building and searched the rooms and even accidentally went into brian's workshop (sorry brian!).
When I got to the hackathon room, it was pretty quiet but active. I had met Robert Blackwell two days prior at a dinner and had a lovely conversation and fun time with him. Robert had brought a ton of hardware (11 hours drive!!) and set up an entire room just so we could hack on hardware. Wait. Hardware?
At this point, I should probably mention I'm not a hardware guy. I can hook up the computer, change memory sticks, and I even replaced a CPU once - but that's pretty much it. Hardware is totally out of my league. I really don't understand it, nor was I ever really interested in it.
So I'm there and I just wanna sit and work on pointless boring stuff when Robert says "hey, how about trying Arduino?"
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.