About me

I'm a developer currently working as a build automation engineer for an e-commerce services company. I've been working with Perl since 1994, and although I started focused on web applications I've gradually moved into toolsmithing and custom applications.

My PAUSE/CPAN ID is MJGARDNER, and I usually host my public development efforts on GitHub.

YAPC::NA 2012 Hackathon Is A Go!

We are officially having a Hackathon at YAPC::NA 2012. The hackathon will be June 11 & 12 (the 2 days before the conference). We decided to make it two days so that as much work as possible can get accomplished at the YAPC Hackathon.

We've acquired a room in the Pyle Center (the location of the conference), and we're working on sponsorship so we can provide free food and drinks to all who attend.

We'll work with community members between now and the conference to determine if it should be a free-for-all event, or if it should have structure and goals. If it is decided to have structure and goals, then we may also seek prize sponsors to reward those that achieve Perl-community related goals.

Please reply here if you've got feedback or ideas.

Introducing Java::Bridge (really, this time)

So, a few days ago, I intended to post a paragraph of metablogging, and then get on with introducing a project. Then I was going to post a few paragraphs. Then I actually write it, decided it deserved it’s own entry, and posted it … and decided that I deserved a break. So here I am, a few days later…

Java::Bridge’s intent is to be a way to use and control any arbitrary Java API you want, from inside of Perl code, without requiring the author of Java::Bridge (IE me) to have considered your use case in advance, or having to have a Java compiler on the target system. (Or, for that matter, a C compiler. Preferably, at all.)

DC.pm August 2011 Meeting - Devel::Peek

Happy birthday Dancer! 2 years today!

This is reposted from the blog of David Precious (bigpresh), original entry available here.

Today marks two years to the day since the first version of Dancer hit CPAN!

According to the BackPAN, Dancer-0.9003.tar.gz hit CPAN on 07-Aug-2009.

I think you'll agree we've come a long way since then, thanks to the awesome community and user base built up around the project since then.

In these two years, we've had countless valuable contributions from a large list of contributing users (see the list on the about page), gathered over 300 watchers on GitHub, had 84 people fork the repository on GitHub, had 620 pull requests submitted... amazing stuff.

We've seen a wide range of awesome Dancer plugins appear on CPAN.

We've seen Dancer presented at various conferences including FOSDEM, OSDC.fr, the French Perl Workshop, the Bulgaria Perl Workshop, PyWeb IL (an Israeli Python group).

We've seen screencasts on using Dancer (thanks Gabor!), we've seen Dancer discussed plenty within the Perl community with plenty of helpful suggestions.

YAPC/Perl Documentary/Commercial

If you have time over the next few weeks, could you record 30 seconds to a few minutes of video about your thoughts on YAPC and/or Perl? I want to make a few commercials and maybe a mini-documentary for YAPC. Feel free to do some serious stuff, and/or some zany stuff. I'm sure I can find room for it all.

When it's ready, send me a URL (admin at yapcna dot org) where I can download it so I can edit it together with the rest of the videos.

Changes to The Way Marpa Orders Parse Results

This post is for users of Marpa's Constant Ranking Method. You are using the Constant Ranking Method if you specify the "ranking_method" named argument of a Marpa recognizer, with the value "constant". If you're not using the Constant Ranking Method, you can stop reading here.

Marpa::XS 0.008000 is the last release that will support the Constant Ranking Method. In future releases of Marpa, Marpa::PP, and Marpa::XS, the Constant Ranking Method may be removed. At a minimum, it will behave differently at the interface level.

Marpa is alpha but previously, whenever I've changed the documented behavior of an interface, I have kept backward compatibility. As alpha development ends and I approach a beta release, I am forced to be more ruthless. I will be changing or eliminating the Constant Ranking Method, and duplicating its exact semantics for backward compatibility is simply too difficult.

thank ask

CPAN mail no longer blacklists github.

And BTW Graham Barr last month fixed the linking of licences in the package view. it now recognises gpl as gpl and not as Postgres license and also gpl_1 .. gpl_3 with much more verbose and precise links. Thank you both. Im just the guy who keeps nagging (one more ticket about pause packages status coding is still underway).

Dan's updates for the week ending August 7th, 2011

TPF

YAPC::NA 2012 Job Fair

We now know quite a bit more about how we're going to structure the job fair at YAPC::NA 2012.

It's going to be held on June 14th, 2012 in the AT&T Lounge in the Pyle Center on the University of Wisconsin Madison Campus. It will run from Noon until 4:30pm. This will allow attendees to stop in both during their lunch breaks and during afternoon sessions, whichever is most convenient for them.

We're going to allow outsiders (people who have not purchased a ticket to YAPC itself) to come to the job fair. And we're going to promote it far and wide in the Madison area, to ensure a good turn out. Our reach will include every high school, technical school, college, the University, and every technology-related user group within 50 miles of Madison.

Companies wishing to exhibit at the job fair can do so by either becoming a Silver Level (or higher) Sponsor, or they can just contact us to buy a table for $200

Companies that participate in the job fair will also get to post their Perl related jobs to our blog and can print flyers for us to insert into our attendee registration packet. 

Task::CPAN::Reporter and CPAN::Mini to the rescue

After the recent problems with Bash::Completion and Bash::Completion::Plugins::perlbrew on my system I realized that maybe the problem I was having is in the actual default operating system install of Perl. To investigate this problem I did a fresh install of openSUSE 11.4 64-bit into a VirtualBox. After running the security updates I installed Task::CPAN::Reporter to pull in what I needed and configured cpan to send reports in. I used the metabase_id.json I had already generated for my development machine as it is recommended to share this file if you plan to have multiple systems sending in reports.

So in the fresh test environment did Bash::Completion install correctly? No, it failed during the testing stage just like before. I dug through the openSUSE package manager, installed and re-installed different things and tried cpan Bash::Completion over and over again. After running out of ideas I set this problem aside for now and focused on other issues that came up during this process.

Somewhere between "use re 'eval'" and "no re 'eval'"

Say, you have a function, which takes a string, a pattern, and then matches the pattern to the string, but with a twist; a (fixed) code fragment is inserted:

sub example {
    my ($str, $pattern) = @_;
    $str =~ /$pattern(?{ 1; })/;
}

The code block here is trivial, because it's not about the content of the block, just about its existence.

The above doesn't work, because by default you cannot interpolate a string in a pattern containing code blocks. So, you have to use re 'eval';:

Building perl on OS X with XCode 4 and Lion

So. I had 5.12 installed on my MacBook Pro, and wanted to build the latest and greatest perl. Unfortunately, the nm that comes with XCode 4 doesn’t play nice with perl’s Configure script, causing it to wonder if you’re using a Cray. Nice upgrade, but it doesn’t get the perl installed.

Everyone seems to be using perlbrew nowadays and there’s information on how to make perlbrew work under these conditions at http://www.perlbrew.pl/FixLion.html.

If, like me, you want to actually build perl the usual way (i.e. without any brewing), you need to patch your perl source. You could, of course, dig into perl-bleed and work out the needed patch yourself, but that would be work. Quite insufficiently lazy.

Perl: The Next Generation

We feel it is our duty as YAPC::NA organizers to do everything we can to bring new people to Perl. After all, without fresh meat, Perl's future wouldn't be very bright.

This year we're doing a whole host of new things to recruit new talent into the Perl community. Collectively, we're calling these programs, Perl: The Next Generation. Here's what we're working on:

My European speaking schedule

I will be arriving in Europe this week-end, at the start of a whirlwind visit to Portugal, Norway, Latvia, and Switzerland. In three of those four countries I will be giving a free talk, which I'd like to invite you to attend if you happen to be in the right place at the right time.

In Lisbon, I'm presenting "Fun With Dead Languages" on Monday August 8, starting at 19:00. Entry is free, but seats are limited, so you do need to pre-register.

In Oslo, I'm presenting "Fun With Dead Languages" (yes, the same talk) on Thursday August 11, starting at 18:15.

In Lausanne, I'm presenting "The Twilight Perl" on Thursday September 1, starting at 19:30. Note that, despite the claim on the website, the talk is completely free.

In between these events I'll be speaking at YAPC::EU as well as offering some public training classes in Oslo, Riga and Zurich.

I hope to see many of you in one or other of these places, especially at YAPC::EU, where there will be a genuine Baltic smorgasbord of fantastic talks, tutorials, and other Perl-related events.

Damian

CPAN modules for generating passwords

This review is now hosted elsewhere.

Introducing this blog

Hello, everybody! (Hi, Doctor Nick!)

This blog will, hopefully, keep you updated on my hackish projects. (Both those involving Perl and otherwise, despite the domain name. Hope you don’t mind overly much. Really, I think most of my hackish projects will grow to include Perl at some point during their lifespan anyway. It’s insidiously useful like that.)

Please, if at any point you find that I’m not updating enough, or I seem to have left behind a project that you are interested in hearing more about / seeing completed, comment. One reason — possibly even the most important reason — I’m starting this is because I want to stop writing so much code that nobody ever sees or uses, and feeling like I never get anything done. If I seem to have dropped a project without telling you why, call me on that, too.

Edit: sorry about the URL; this post was originally going to be about something completely different, which should be the subject of the next post, once I finish writing it.

ACT Running From Plack

I'm proud to announce that our dev team has officially gotten ACT (the conference registration system used by YAPC) running on Plack. Check out the github repo. We still have more work yet to do. There's still one test not passing, and lots of features to add, but you can start it with plackup, register, login, change your profile, change your password, etc.

If ever you wished ACT had a feature you thought it was missing, it just became a lot easier to add.

YAPC::Asia Tokyo 2011 Tickets Now On Sale

Ditto.

YAPC::Asia Tokyo 2011 tickets are now on sale.

Should you need any help, if you have questions, please don't hesitate to contact me at @lestrrat

Pod::Plexus meta-yak, editor folding

Pod::Plexus development has led me down a slippery slope peppered with boulders and broken glass I thought I could avoid forever.

My inner typographer wants to lay out documentation "just so", which means putting all the POD together, usually at the end of the file. Pod::Plexus and Pod::Weaver move POD around, making this semitypographical exercise a big time waster. All the careful consideration of placing "SEE ALSO" before (or after) "BUGS" matters naught.

Suddenly interleaving POD and code doesn't sound so bad. It doesn't change the finished product. I can also get rid of some of my pre-method comments, since the documentation will do double duty. Smaller distributions and less work for me? What's not to like?

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.