Vegan Food Options in Madison

From guest contributor Dave Rolsky:

There are a ridiculous number of vegan options in Madison at YAPC::NA 2012. Some of the highlights:

  • Dandelion is an all vegetarian and mostly vegan food cart on the Library Mall
  • Kabul, Buraka, Himal Chuli, Med Cafe, Dobra Tea, and Ian’s Pizza all have vegan options, and are a 5-10 minute walk from the conference
  • Further out there are multiple places with vegan breakfast like tofu scrambles, hashes, and biscuits & gravy at Monty’s Blue Plate Diner and Willalby’s Cafe
  • The Chocolate Shoppe is an ice cream shop offering at least 6 options (4 sorbets and two soy milk-based flavors). Paciugo has multiple vegan gelato options.
  • Vegan desserts are available at The Green Owl, Monty’s, Mother Fools coffee house, Dandelion, Willy Street Co-op, and probably others I haven’t found yet.


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

A marvellous overview of browser capabilities

Hi Folks

caniuse.com.

Nuff said.

cpancover

I've started work on my Devel::Cover grant from TPF. If you are interested you can see my report for the first week at http://www.nntp.perl.org/group/perl.qa/2012/05/msg13184.html.

As a part of that work I have updated cpancover and moved it to a new home at http://cpancover.com.

cpancover is my project to provide coverage details for CPAN modules. Whilst useful in its own right, I also tend to use CPAN as my extended test suite for Devel::Cover. I was able to procure a server in the beta phase of http://bigv.io from the nice folk at http://bytemark.co.uk and I decided it was time for cpancover to have its own domain name.

If you would like to see a module added to cpancover please let me know. Or, better yet, patch https://github.com/pjcj/Devel--Cover/blob/master/utils/install_modules and send me a pull request.

Getting around in Frankfurt

Frankfurt has good public transportation.

The subway, tram lines and bus run from 6:00 am through 1:00 am. Connections are best looked up on the RMV website . The Frankfurt public transport relies on the "honour system" ). You are expected to buy the ticket before you board the train. For buying a simple ticket there are "hotkeys" on the machine for "inner city" and "airport". A single trip within the inner city costs €2,50 per person. The trip from the airport into the city costs €4,10.

The "Nachtbus" (night bus) runs every 30 minutes from midnight to four in the morning. The central hub for the Nachtbus is the Konstablerwache where all lines meet up at the same time to allow for switching. The "n1" and "n2" lines connect the venue to the Konstablerwache.

Taxi fares are somewhat expensive, at €1,65/€1,75 per km, plus €2,75/€3,25 fee for day/night. The transfer from the airport to the venue costs about €20, to the train station about €30. Cabs are generally safe in Frankfurt except that the driver may try to drive a longer route if they notice you're not from around the town.

Route planning: http://www.rmv.de

Nachtbus: http://www.nachtbus-frankfurt.de/33379.de.jede_nacht.html

Travel information: http://wikitravel.org/en/Frankfurt

Andrew Rodland with his really precise clock at the Hardware...



Andrew Rodland with his really precise clock at the Hardware Hackathon.

[From the YAPC::NA Blog.]

A Porter's Tale

Well, I’m just about done with my porting project.  For $work, we’ve been working on porting a fairly large codebase (the official count is nearly 2 million LOCs, although I think that probably includes whitespace and comments) from Perl 5.8.9 to 5.14.2.  Actually, our goal is threefold:

  • Get our code using the newest Perl.  (Although, of course, that’s always a moving target: by this point 5.16 is out, so it’s not the newest any more.)
  • Get our code using the newest Moose.  (We’re currently on 1.21, and want to go to 2.x.)
  • Switch from using MooseX::Method::Signatures to using Method::Signatures::Modifiers.  In fact, this port was the primary impetus for me writing MSM in the first place (although, back then it was Perl 5.12 we were aiming at).  Now, in a bizarre sort of paradoxerie, the desire to get away from MXMS is the driving force behind completing the port.

CPANdeps DoS

Why anyone would want to spider CPANdeps is beyond me, but a load of idiots in the Ukraine do want to, and their bot, as well as ignoring robots.txt (just like all the other search engines in the entire world, it seems) sends requests as fast as it can. All the timeouts and the errors about CPANdeps running out of database connections must mean they get some really high quality data.

All fixed though:

/sbin/iptables -A INPUT -s 213.186.96.0/19 -j DROP
/sbin/iptables -A INPUT -s 212.113.32.0/19 -j DROP

If this inconveniences any Ukrainian perl hackers, then I apologise. You should address your complaints to the employees of ahrefs.com, preferably attached to baseball bats, knives and guns.

Andy Lester, brian d foy, Gisle Aas, and Adrian Howard featured in RSA Animate video - The Power of Networks

This image is from http://www.thersa.org/events/video/animate/rsa-animate-the-power-of-networks

perl-mslima.jpg

See also my tweet and Google+ post about this video.


Update for Sun May 27 10am-ish EDT. . . Whoops, I should have included Stevan Little in the title of this post:

cpan-explorer-authors.png

He's unnamed Perl contributor in the first image I posted. I'm listening to the original audio of the lecture from which the RSA Animate video is based and was able to find http://www.visualcomplexity.com/vc/project.cfm?id=685 which links to http://cpan-explorer.org/category/authors/ which is where I found this second image. See also slide 29 from the slides of the talk. The first image is obviously an illustration of the second image. Very cool. I love this stuff. And I had never heard about http://cpan-explorer.org which is just fabulous.

Also a made a second Google+ post that links back to this one.

Look at all the amazing stuff Robert Blackwell brought to play...









Look at all the amazing stuff Robert Blackwell brought to play with at the YAPC::NA 2012 Hardware Hackathon. 

[From the YAPC::NA Blog.]

Please Ensure ABSTRACT and LICENSE fields in your META.yml/json

I've been opening quite a few bugs lately for distributions failing these 2 criteria, so, I figured I'd save everyone some effort and unify it cohesively.

Reason

While it may seem a trivial squabble, ABSTRACT and LICENSE components of your meta-data are reasonably important for communicating what your dist is to the world, for both human and automated consumers.

The ABSTRACT field manifests itself in quite a few places:

And the LICENSE field appears in a few places as well:

Implementing Perl6 eval($str, :lang)

Moritz++ helped me implement a proof of concept eval-perl5 that works in rakudo, and uses Perlito5 (a perl5 compiler written in perl5).

This snippet could be used to implement a perl5 compatibility layer that works both in rakudo and niecza (and maybe pugs).

Perlito5 -Cperl6 is invoked using shell() . It compiles the string to perl6, and the result is eval'ed using plain perl6 Str.eval() :
multi eval($str, :$lang! where 'perl5') {
    my $inp_file = "tmp.p5";
    my $out_file = "tmp.p6";
    my $fh = open($inp_file, :w);
    $fh.print($str);
    $fh.close;
    shell "perl perlito5.pl -Isrc5/lib -Cperl6 $inp_file > $out_file";
    my $p6_str = slurp $out_file;
    $p6_str.eval;
}

Usability testing of CPAN modules

Al Newkirk asked me to take a look at his Validation::Class module, and I did.

But instead of asking for the directions or watching the screencast, I tried to figure it out from docs.
And I took notes of my thought process.

The result is this gist: https://gist.github.com/2791412
And here's Al's answer: https://gist.github.com/2791581

So I think it was an interesting experience, and I wish more people did this kind of thing.
Because author can't enter the same river twice; once you're familiar with your project's concepts, you tend to lose the perspective on what will confuse a new user.

You don't have to be a good writer or an experienced developer to provide this kind of feedback. On the contrary, seeing the docs for the first time is what's important to make this process work.
And the author probably won't blame you for being unreasonable -- how can he if you're admitting that you don't understand what's going on and you're just dumping your thought process?

Do you remember when...

Do you remember when I stood up in front of the entire audience at YAPC::NA 2011 and told the whole room that I was going to post a blog entry about YAPC every single day between YAPC::NA 2011 and 2012? And the whole crowd broke out into laughter? Heh. Yeah that was funny, but I made it! Now you know that when I tell you I’m going to do something, it gets done! Woot!

Seriously though, thank you for laughing. It strengthened my resolve and pushed me to follow through with the claim. Also, thank you for choosing me and the MadMongers to run YAPC::NA 2012. We’ve had an absolute blast planning it.

In other news, YAPC::NA 2012 starts tomorrow! Holy cow being eaten by a raptor! I can’t believe it’s finally here. Can’t wait to see you all tomorrow. Safe travels.

[From the YAPC::NA Blog.]

Dancer + Bootstrap + Font-Awesome

In case you haven't noticed, Assaf Gordon has picked a sort of flavor of Dancer, which he finds as a useful base for his applications. It includes updated jQuery, Twitter's Bootstrap library and Font-Awesome's awesome font.

You can see an example right here and the repository which you can fork and hack on is over here.

Great job, Assaf!

Useful CPAN Modules

I have recently installed perl-5.16.0 using perlbrew and have begun adding CPAN modules. Here is some of them that I find most useful. Would you add any to the list?

  • JSON
  • YAML
  • List::MoreUtils
  • Readonly
  • Regexp::Common
  • Data::Alias
  • Text::CSV
  • Text::CSV_XS

SNMP module vs Net::SNMP module

If you're fortunate to get stuck working on IPv6 stuff you're going to find that things are not always as they seem.

In my job where I'm tasked with testing scripts using SNMP to verify that they work with IPv6 addresses as well as IPv4 addresses I've found that the SNMP and Net::SNMP perl docs aren't necessarily correct on some things. Fortunately you can use Net::SNMP to create a session where it returns an error message if it doesn't create a session unlike SNMP which doesn't. SNMP appears to be more of a quick wrapper

This will help you overcome any shortcomings you have with networking and get you on your merry way.

Here's an excerpt from the Net::SNMP perl doc from CPAN:
     ($session, $error) = Net::SNMP->session(
                                                           -hostname => $hostname, # works
                                                           Hostname => $hostname, # doesn't
                                                            . . .
     );

The Testing Workshop is underway.



The Testing Workshop is underway.

[From the YAPC::NA Blog.]

Partially leaving Perl to change the world with Kaggle

As some of you may be aware, the last few months have seen a dramatic change to my life.

Since I've been largely incommunicado over this period and have only just started to get in control of these changes, I thought I should take the time to explain my new situation and the impact on my Perl projects.

Firstly, my employment situation has changed dramatically.

For the last 3-4 years I've been at Corporate Express Australia (now Staples Australia) working full time on a large 250k line Perl code base for their main sales channel, and I'd like to take a moment to thank them for their support of Open Source Perl over that time.

Guess what this does ...

First, here's a one-liner:

    perl -de 'BEGIN {@DB::typeahead=("V ::","q")};1'

If you have a sense of what might be happening, you're probably an experienced Perl user. If you can accurately describe what's happening, you're an advanced user. If you can completely describe the output before you see it, you need psychiatric help.

Perl 5.16.0 installed

I thought I would see how long my new 8 core box would take to compile 5.16.0.

It took about 18 minutes 25 seconds if stat on the build log is accurate.

So now I have the new shiny...just need to reload all the CPAN modules I use now.

Huzzah!

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.